When emerging mysql++, I get an error while compiling coldata.cc Reproducible: Always Steps to Reproduce: 1. emerge mysql++ Actual Results: >>> Unpacking source... >>> Unpacking mysql++-1.7.9.tar.gz to /var/tmp/portage/mysql++-1.7.9-r3/work * Patching for gcc 3.3... * Fixing examples directory bug... * Applying mysql++-1.7.9-missing.patch... >>> Source unpacked. creating cache ./config.cache checking for a BSD compatible install... /bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... yes checking for working aclocal... found checking for working autoconf... found checking for working automake... found checking for working autoheader... found checking for working makeinfo... found checking whether make sets ${MAKE}... (cached) yes checking host system type... i686-pc-linux-gnu checking build system type... i686-pc-linux-gnu checking for ranlib... ranlib checking for gcc... gcc checking whether the C compiler (gcc -march=athlon-tbird -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -fforce-mem -falign-functions=4 -maccumulate-outgoing-args ) works... yes checking whether the C compiler (gcc -march=athlon-tbird -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -fforce-mem -falign-functions=4 -maccumulate-outgoing-args ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking for ld used by GCC... /usr/i686-pc-linux-gnu/bin/ld checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes updating cache ./config.cache loading cache ./config.cache within ltconfig checking for object suffix... o checking for executable suffix... no checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.lo... yes checking if gcc supports -fno-rtti -fno-exceptions ... no checking if gcc static flag -static works... -static checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes checking whether the linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking command to parse /usr/bin/nm -B output... ok checking how to hardcode library paths into programs... immediate checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r checking dynamic linker characteristics... Linux ld.so checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for objdir... .libs creating libtool updating cache ./config.cache loading cache ./config.cache checking whether to enable maintainer-specific portions of Makefiles... no checking for MySQL library directory... /usr/lib/mysql checking for MySQL include directory... /usr/include/mysql checking for gcc... (cached) gcc checking whether the C compiler (gcc -march=athlon-tbird -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -fforce-mem -falign-functions=4 -maccumulate-outgoing-args -L/usr/lib/mysql) works... yes checking whether the C compiler (gcc -march=athlon-tbird -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -fforce-mem -falign-functions=4 -maccumulate-outgoing-args -L/usr/lib/mysql) is a cross-compiler... no checking whether we are using GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for c++... g++ checking whether the C++ compiler (g++ -march=athlon-tbird -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -fforce-mem -falign-functions=4 -maccumulate-outgoing-args -march=athlon-tbird -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -fforce-mem -falign-functions=4 -maccumulate-outgoing-args -L/usr/lib/mysql) works... yes checking whether the C++ compiler (g++ -march=athlon-tbird -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -fforce-mem -falign-functions=4 -maccumulate-outgoing-args -march=athlon-tbird -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -fforce-mem -falign-functions=4 -maccumulate-outgoing-args -L/usr/lib/mysql) is a cross-compiler... no checking whether we are using GNU C++... yes checking whether g++ accepts -g... yes checking for main in -lintl... no checking for main in -lsocket... no checking for main in -lnsl... yes checking for mysql_store_result in -lmysqlclient... yes checking if malloc debugging is wanted... no checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for working const... yes checking for strtol... yes updating cache ./config.cache creating ./config.status creating Makefile creating sqlplusint/Makefile creating examples/Makefile creating config.h creating sqlplusint/exceptions.hh make all-recursive make[1]: Entering directory `/var/tmp/portage/mysql++-1.7.9-r3/work/mysql++-1.7.9' Making all in sqlplusint make[2]: Entering directory `/var/tmp/portage/mysql++-1.7.9-r3/work/mysql++-1.7.9/sqlplusint' /bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../sqlplusint -I/usr/include/mysql -march=athlon-tbird -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -fforce-mem -falign-functions=4 -maccumulate-outgoing-args -march=athlon-tbird -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -fforce-mem -falign-functions=4 -maccumulate-outgoing-args -c coldata.cc mkdir .libs g++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../sqlplusint -I/usr/include/mysql -march=athlon-tbird -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -fforce-mem -falign-functions=4 -maccumulate-outgoing-args -march=athlon-tbird -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -fforce-mem -falign-functions=4 -maccumulate-outgoing-args -Wp,-MD,.deps/coldata.pp -c -fPIC -DPIC coldata.cc -o .libs/coldata.lo In file included from coldata1.hh:8, from coldata2.hh:5, from coldata3.hh:12, from coldata4.hh:6, from coldata.cc:3: type_info1.hh: In constructor `mysql_ti_sql_type_info::mysql_ti_sql_type_info() ': type_info1.hh:29: error: uninitialized member ' mysql_ti_sql_type_info::_base_type' with 'const' type 'const unsigned char' type_info1.hh:29: error: uninitialized member 'mysql_ti_sql_type_info::_default ' with 'const' type 'const bool' make[2]: *** [coldata.lo] Error 1 make[2]: Leaving directory `/var/tmp/portage/mysql++-1.7.9-r3/work/mysql++-1.7.9/sqlplusint' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mysql++-1.7.9-r3/work/mysql++-1.7.9' make: *** [all-recursive-am] Error 2 !!! ERROR: dev-db/mysql++-1.7.9-r3 failed. !!! Function src_compile, Line 84, Exitcode 2 !!! unable to make Expected Results: Successful emerge of mysql++ emerge info: Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.5-gentoo-r1) ================================================================= System uname: 2.6.5-gentoo-r1 i686 AMD Athlon(TM)Processor Gentoo Base System version 1.4.16 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-tbird -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -fforce-mem -falign-functions=4 -maccumulate-outgoing-args" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /lib/modules /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/init.d /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-tbird -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr -fforce-mem -falign-functions=4 -maccumulate-outgoing-args" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox userpriv usersandbox" GENTOO_MIRRORS="ftp://gentoo.ccccom.com http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/ http://mirrors.tds.net/gentoo" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="3ds X X509 Xaw3d aalib acpi acpi4linux adns aim alsa antlr apache2 apm arts artswrappersuid auctex audiofile avi bcel berkdb bonobo bsh cddb cdr clamav clanJavaScript clanVoice clisp cmucl crypt cscope cups divx4linux dnd doc dv dvd emacs encode esd f77 faad fam foomaticdb gcj gdbm gif gimp gimpprint glut gnome gpm gstreamer gtk gtk2 gtkhtml guile hbci idea imagemagick imap imlib innodb jabber java javamail jdepend jikes joystick jpeg jsch junit jython kde libg++ libwww live log4j mad maildir mcal md5sum memlimit mikmod mmx mng motif mozcalendar mozdomi mozilla mozp3p mozsvg mpeg mpi msn mule music mysql ncurses nls oav objc odbc offensive ofx oggvorbis openal opengl optional-tasks oro oss pam parse-clocks pcre pda pdflib perl physfs pic pie plotutils png portaudio ppds prelude pwdb python qt quicktime quotes readline regexp rhino ruby samba scanner sdk sdl skey slang slp snmp speex spell ssl stencil-buffer tcltk tcpd tetex theora tiff transcode truetype uml usb videos vim-with-x virus-scan wmf x86 xalan xemacs xerces xface xine xml2 xmms xv xvid yahoo zlib"
I think this is caused by the newer and apparently stricter g++. Particularly this line of sqlplusint/type_info1.hh is what's killing the compile: mysql_ti_sql_type_info () {} It's been a while since I last did C++, but isn't that the same as this: mysql_ti_sql_type_info (); That seems to compile fine, but I'm not sure how to test it.
should be fixed with -r6 (it should show up in the rsync trees in the next hour). if it works for you, i'll mark it stable (please reply back here).
Builds fine now. Thanks.
I got the same. I'm just emerging -r6 (still marked ~x86)
This should be reopened...-r6 is kaputt too: g++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../sqlplusint -I/usr/include/mysql -march=athlon-xp -O2 -pipe -march=athlon-xp -O2 -pipe -Wp,-MD,.deps/connection.pp -c -fPIC -DPIC connection.cc -o .libs/connection.lo In file included from coldata1.hh:8, from coldata2.hh:5, from coldata3.hh:12, from coldata4.hh:6, from coldata.cc:3: type_info1.hh: In constructor `mysql_ti_sql_type_info::mysql_ti_sql_type_info() ': type_info1.hh:29: error: uninitialized member ' mysql_ti_sql_type_info::_base_type' with 'const' type 'const unsigned char' type_info1.hh:29: error: uninitialized member 'mysql_ti_sql_type_info::_default ' with 'const' type 'const bool' make[2]: *** [coldata.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from coldata1.hh:8, from field_names1.hh:9, from result1.hh:15, from query1.hh:13, from connection1.hh:19, from connection2.hh:4, from connection3.hh:2, from connection.cc:2: type_info1.hh: In constructor `mysql_ti_sql_type_info::mysql_ti_sql_type_info() ': type_info1.hh:29: error: uninitialized member ' mysql_ti_sql_type_info::_base_type' with 'const' type 'const unsigned char' type_info1.hh:29: error: uninitialized member 'mysql_ti_sql_type_info::_default ' with 'const' type 'const bool' make[2]: *** [connection.lo] Error 1 make[2]: Leaving directory `/var/tmp/portage/mysql++-1.7.9-r6/work/mysql++-1.7.9/sqlplusint' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mysql++-1.7.9-r6/work/mysql++-1.7.9' make: *** [all-recursive-am] Error 2 !!! ERROR: dev-db/mysql++-1.7.9-r6 failed. !!! Function src_compile, Line 88, Exitcode 2 !!! unable to make # emerge info Portage 2.0.50-r11 (default-x86-2004.2, gcc-3.3.4, glibc-2.3.3.20040420-r2, 2.6.8-gentoo-r6) ================================================================= System uname: 2.6.8-gentoo-r6 i686 AMD Athlon(tm) XP 3200+ Gentoo Base System version 1.4.16 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O2 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /sbin /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache emergemail fixpackages nostrip notitles sandbox userpriv usersandbox" GENTOO_MIRRORS="http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/ http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3dnow S3TC X aac aalib acpi acpi4linux alsa apm arts artswrappersuid audiofile avi berkdb bitmap-fonts bzlib calendar cddb cdparanoia cdr codecs cups curl curlwrappers dbase devmap divx4linux dmx doc dv dvd dvdr dvdread encode escreen esd exif f77 faac faad fbcon ffmpeg flac foomaticdb ftp ggi gif gimp gimpprint gphoto2 gpm gs gstreamer gtk gtk2 gtkhtml imagemagick imlib innodb interbase iodbc java javascript jbig joystick jp2 jpeg jpeg2k kde libg++ libwww linguas_en_GB livelzw-tiff mad maildir mbox mikmod mime mmx mmx2 mng monkey mono motif mozcalendar moznocompose moznoirc mozsvg mp3 mpeg mysql mysqli nas ncurses network nls no_wxgtk1 nocardbus nomac oav odbc oggvorbis ooo-kde opengl oss pam pcre pdflib perl png posix postgres ppds python qt quicktime readline rtc samba scanner sdl slang slp sox spell sqlite sse ssl svg tcltk tcpd tetex tga theora tifftimidity truetype unicode usb vanilla videos vim-with-x wmf x86 xbase xine xml2 xmms xpm xprint xv xvid yv12 zlib"
and with gcc set to i686-pc-linux-gnu-3.4.2: >>> Unpacking mysql++-1.7.9.tar.gz to /var/tmp/portage/mysql++-1.7.9-r6/work * Patching for gcc 3.0... [ ok ] * Patching for gcc 3.4 (patch for 3.2 needed first)... [ ok ] * Patching for gcc 3.4... [ ok ] * Patching to fix some warnings and errors... * Failed Patch: mysql++-1.7.9-gcc_throw.patch! * * Include in your bugreport the contents of: * * /var/tmp/portage/mysql++-1.7.9-r6/temp/mysql++-1.7.9-gcc_throw.patch-2558.out # cat /var/tmp/portage/mysql++-1.7.9-r6/temp/mysql++-1.7.9-gcc_throw.patch-2558.out ***** mysql++-1.7.9-gcc_throw.patch ***** ========================================= PATCH COMMAND: patch -p0 -p1 -d /var/tmp/portage/mysql++-1.7.9-r6/work/mysql++-1.7.9 < /usr/portage/dev-db/mysql++/files/mysql++-1.7.9-gcc_throw.patch ========================================= patching file sqlplusint/connection1.hh Hunk #1 FAILED at 11. 1 out of 1 hunk FAILED -- saving rejects to file sqlplusint/connection1.hh.rej patching file sqlplusint/convert1.hh patching file sqlplusint/exceptions.hh Hunk #1 FAILED at 13. Hunk #2 FAILED at 42. Hunk #3 FAILED at 52. 3 out of 3 hunks FAILED -- saving rejects to file sqlplusint/exceptions.hh.rej patching file sqlplusint/result1.hh ========================================= PATCH COMMAND: patch -p1 -p1 -d /var/tmp/portage/mysql++-1.7.9-r6/work/mysql++-1.7.9 < /usr/portage/dev-db/mysql++/files/mysql++-1.7.9-gcc_throw.patch ========================================= patching file sqlplusint/connection1.hh Hunk #1 FAILED at 11. 1 out of 1 hunk FAILED -- saving rejects to file sqlplusint/connection1.hh.rej patching file sqlplusint/convert1.hh patching file sqlplusint/exceptions.hh Hunk #1 FAILED at 13. Hunk #2 FAILED at 42. Hunk #3 FAILED at 52. 3 out of 3 hunks FAILED -- saving rejects to file sqlplusint/exceptions.hh.rej patching file sqlplusint/result1.hh ========================================= PATCH COMMAND: patch -p2 -p1 -d /var/tmp/portage/mysql++-1.7.9-r6/work/mysql++-1.7.9 < /usr/portage/dev-db/mysql++/files/mysql++-1.7.9-gcc_throw.patch ========================================= patching file sqlplusint/connection1.hh Hunk #1 FAILED at 11. 1 out of 1 hunk FAILED -- saving rejects to file sqlplusint/connection1.hh.rej patching file sqlplusint/convert1.hh patching file sqlplusint/exceptions.hh Hunk #1 FAILED at 13. Hunk #2 FAILED at 42. Hunk #3 FAILED at 52. 3 out of 3 hunks FAILED -- saving rejects to file sqlplusint/exceptions.hh.rej patching file sqlplusint/result1.hh ========================================= PATCH COMMAND: patch -p3 -p1 -d /var/tmp/portage/mysql++-1.7.9-r6/work/mysql++-1.7.9 < /usr/portage/dev-db/mysql++/files/mysql++-1.7.9-gcc_throw.patch ========================================= patching file sqlplusint/connection1.hh Hunk #1 FAILED at 11. 1 out of 1 hunk FAILED -- saving rejects to file sqlplusint/connection1.hh.rej patching file sqlplusint/convert1.hh patching file sqlplusint/exceptions.hh Hunk #1 FAILED at 13. Hunk #2 FAILED at 42. Hunk #3 FAILED at 52. 3 out of 3 hunks FAILED -- saving rejects to file sqlplusint/exceptions.hh.rej patching file sqlplusint/result1.hh ========================================= PATCH COMMAND: patch -p4 -p1 -d /var/tmp/portage/mysql++-1.7.9-r6/work/mysql++-1.7.9 < /usr/portage/dev-db/mysql++/files/mysql++-1.7.9-gcc_throw.patch ========================================= patching file sqlplusint/connection1.hh Hunk #1 FAILED at 11. 1 out of 1 hunk FAILED -- saving rejects to file sqlplusint/connection1.hh.rej patching file sqlplusint/convert1.hh patching file sqlplusint/exceptions.hh Hunk #1 FAILED at 13. Hunk #2 FAILED at 42. Hunk #3 FAILED at 52. 3 out of 3 hunks FAILED -- saving rejects to file sqlplusint/exceptions.hh.rej patching file sqlplusint/result1.hh