List:General Discussion« Previous MessageNext Message »
From:Sean Quinlan Date:April 14 2004 7:22pm
Subject:make fails with --raid_enabled, V3.23.58 and 4.0.18
View as plain text  
I've been working on this all day. I would _greatly_ appreciate it if
anyone had some suggestions. I'll describe the problem in some detail
below. I'm guessing that there is some setting/prereq/version conflict
or such causing this failure, and hoping someone here can easily
identify my mistake.

I'm trying to upgrade our MySQL server to bring in raid support (I have
a table for biological information which will be > 8g initially and will
likely grow to as large as 20g over the next few years). I first tried
tried installing the mysql-max rpm. Although after restarting the server
claimed it's version was 3.23.58-Max, raid (and innodb) were still both
off. 

Not being very familiar with the rpm upgrade process, but not finding
anything in any of the confs that would seem to prevent raid support, I
thought I would build mysql from source (which I have done many time
before).

Here are my flags and ./configure lines (tcsh):
shell> setenv CXXFLAGS "-O3 -mcpu=pentiumpro -felide-constructors
-fno-exceptions -fno-rtti"

shell> setenv CFLAGS "-O3 -mcpu=pentiumpro"

shell> ./configure --with-innodb --with-berkeley-db --with-raid
--enable-assembler --with-mysqld-ldflags=-all-static --prefix=/usr
--datadir=/var/lib/mysql --enable-local-infile
--enable-thread-safe-client
--with-unix-socket-path=/var/lib/mysql/mysql.sock

Configure runs fine. When I run make, everything goes well until:
V.3.23.58
gcc -O3 -DDBUG_OFF -O3 -mcpu=pentiumpro -rdynamic -o isamchk isamchk.o
sort.o  libnisam.a ../mysys/libmysys.a ../dbug/libdbug.a
../strings/libmystrings.a -lpthread -lz -lcrypt -lnsl -lm -lpthread
../mysys/libmysys.a(my_tempnam.o): In function `my_tempnam':
my_tempnam.o(.text+0x51): the use of `tempnam' is dangerous, better use
`mkstemp'
../mysys/libmysys.a(raid.o): In function `my_raid_create':
raid.o(.text+0xa5): undefined reference to `operator new(unsigned)'
raid.o(.text+0x132): undefined reference to `operator delete(void*)'
../mysys/libmysys.a(raid.o): In function `my_raid_open':
raid.o(.text+0x185): undefined reference to `operator new(unsigned)'
raid.o(.text+0x20f): undefined reference to `operator delete(void*)'
../mysys/libmysys.a(raid.o): In function `my_raid_close':
raid.o(.text+0x780): undefined reference to `operator delete(void*)'
collect2: ld returned 1 exit status
make[2]: *** [isamchk] Error 1
make[2]: Leaving directory `/home/seanq/mysql-3.23.58/isam'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/seanq/mysql-3.23.58'
make: *** [all] Error 2

And in 4.0.18
gcc -O3 -DDBUG_OFF -O3 -mcpu=pentiumpro -rdynamic -o isamchk isamchk.o
sort.o  libnisam.a ../mysys/libmysys.a ../dbug/libdbug.a
../strings/libmystrings.a -lz -lcrypt -lnsl -lm -lpthread
../mysys/libmysys.a(my_tempnam.o): In function `my_tempnam':
my_tempnam.o(.text+0x51): the use of `tempnam' is dangerous, better use
`mkstemp'
../mysys/libmysys.a(raid.o): In function `my_raid_create':
raid.o(.text+0xa5): undefined reference to `operator new(unsigned)'
raid.o(.text+0x132): undefined reference to `operator delete(void*)'
../mysys/libmysys.a(raid.o): In function `my_raid_open':
raid.o(.text+0x185): undefined reference to `operator new(unsigned)'
raid.o(.text+0x20f): undefined reference to `operator delete(void*)'
../mysys/libmysys.a(raid.o): In function `my_raid_close':
raid.o(.text+0x780): undefined reference to `operator delete(void*)'
collect2: ld returned 1 exit status
make[2]: *** [isamchk] Error 1
make[2]: Leaving directory `/home/seanq/mysql-4.0.18/isam'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/seanq/mysql-4.0.18'
make: *** [all] Error 2

I've done the entire process exactly the same, except removing
--with-raid from the ./configuration arguments. Without raid, make
completes without errors.

It's a dual processor server (a Dell). It's running RedHat 8.0 3.2-7.

shell> uname -a
Linux xxxxx.xxxxx.xxx 2.4.20-28.8smp #1 SMP Thu Dec 18 12:25:21 EST 2003
i686 i686 i386 GNU/Linux

shell> gcc -v
from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --host=i386-redhat-linux --with-system-zlib
--enable-__cxa_atexit
Thread model: posix
gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)

TIA!

-- 
Sean Quinlan <sean@stripped>

Attachment: [application/pgp-signature] This is a digitally signed message part signature.asc
Attachment: [application/pgp-signature] This is a digitally signed message part signature.asc
Thread
make fails with --raid_enabled, V3.23.58 and 4.0.18Sean Quinlan14 Apr