From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021003 Description of problem: Cannot compile source, either from mysql.com (3.23 or 4.0) or from RedHat. All attempts fail. Started attempting to compile from source because mysql.com RPMs for mysql-embedded do not work, and redhat.com does not supply mysql-embedded. However, have found it impossible to compile any mysql from any source code. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. rpmbuild --rebuild mysql-3.23.54a-4.src.rpm Actual Results: Making all in dict make[4]: Entering directory `/usr/src/redhat/BUILD/mysql-3.23.54a/innobase/dict' source='dict0boot.c' object='dict0boot.o' libtool=no \ depfile='.deps/dict0boot.Po' tmpdepfile='.deps/dict0boot.TPo' \ depmode=gcc3 /bin/sh ../.././innobase/../depcomp \ gcc -DHAVE_CONFIG_H -I. -I../.././innobase/dict -I.. -I../../include -I../include -DDBUG_OFF -O3 -DDBUG_OFF -O2 -march=i386 -mcpu=i686 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DDEBUG_OFF -DUNIV_INTEL_X86 -c `test -f dict0boot.c || echo '../.././innobase/dict/'`dict0boot.c source='dict0crea.c' object='dict0crea.o' libtool=no \ depfile='.deps/dict0crea.Po' tmpdepfile='.deps/dict0crea.TPo' \ depmode=gcc3 /bin/sh ../.././innobase/../depcomp \ gcc -DHAVE_CONFIG_H -I. -I../.././innobase/dict -I.. -I../../include -I../include -DDBUG_OFF -O3 -DDBUG_OFF -O2 -march=i386 -mcpu=i686 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DDEBUG_OFF -DUNIV_INTEL_X86 -c `test -f dict0crea.c || echo '../.././innobase/dict/'`dict0crea.c source='dict0dict.c' object='dict0dict.o' libtool=no \ depfile='.deps/dict0dict.Po' tmpdepfile='.deps/dict0dict.TPo' \ depmode=gcc3 /bin/sh ../.././innobase/../depcomp \ gcc -DHAVE_CONFIG_H -I. -I../.././innobase/dict -I.. -I../../include -I../include -DDBUG_OFF -O3 -DDBUG_OFF -O2 -march=i386 -mcpu=i686 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DDEBUG_OFF -DUNIV_INTEL_X86 -c `test -f dict0dict.c || echo '../.././innobase/dict/'`dict0dict.c source='dict0load.c' object='dict0load.o' libtool=no \ depfile='.deps/dict0load.Po' tmpdepfile='.deps/dict0load.TPo' \ depmode=gcc3 /bin/sh ../.././innobase/../depcomp \ gcc -DHAVE_CONFIG_H -I. -I../.././innobase/dict -I.. -I../../include -I../include -DDBUG_OFF -O3 -DDBUG_OFF -O2 -march=i386 -mcpu=i686 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DDEBUG_OFF -DUNIV_INTEL_X86 -c `test -f dict0load.c || echo '../.././innobase/dict/'`dict0load.c dict0load.c: In function `dict_load_foreign_cols': dict0load.c:879: internal error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions. make[4]: *** [dict0load.o] Error 1 make[4]: Leaving directory `/usr/src/redhat/BUILD/mysql-3.23.54a/innobase/dict' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/usr/src/redhat/BUILD/mysql-3.23.54a/innobase' make[2]: *** [all] Error 2 make[2]: Leaving directory `/usr/src/redhat/BUILD/mysql-3.23.54a/innobase' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/src/redhat/BUILD/mysql-3.23.54a' make: *** [all] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.8802 (%build) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.8802 (%build) Expected Results: binary package should have been produced Additional info: gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7) Linux version 2.4.18-24.8.0 glibc-2.2.93-5 Standard install from ISO's with update from RHN.
Hmm... the compiler segfaulting is not really mysql's problem. Pushing this over to gcc (they'll probably want more information).
yes. source code will compile if optimizations are removed: CFLAGS="-O0" CXX=gcc CXXFLAGS="-O0 -felide-constructors -fno-exceptions \ -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-static the segfaulting seems to be specific to athlon
Is it reproduceable, always on the same file and line same ICE when you retry?
yes. rpm --rebuild always fails on the same file/line. when using the mysql.com source, again fails predictably. each failed file can be compiled successfully by setting -O0.
Can you attach dict0load.i then (add -save-temps to the gcc command line)?
Created attachment 90133 [details] dict0load.i as requested by jakub source='dict0load.c' object='dict0load.o' libtool=no depfile='.deps/dict0load.Po' tmpdepfile='.deps/dict0load.TPo' depmode=gcc3 /bin/sh ../.././innobase/../depcomp gcc -save-temps -DHAVE_CONFIG_H -I. -I../.././innobase/dict -I.. -I../../include -I../include -DDBUG_OFF -O3 -DDBUG_OFF -O2 -march=i386 -mcpu=i686 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DDEBUG_OFF -DUNIV_INTEL_X86 -c `test -f dict0load.c || echo '../.././innobase/dict/'`dict0load.c dict0load.c: In function `dict_get_first_table_name_in_db': dict0load.c:106: internal error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
oops. I guess it doesn't always fail on the same line, but always on the same files.
Cannot reproduce. Sounds like a hardware problem.