Trying to emerge mysql++ results in an error while compiling library connection.lo (stops at connection.cc). I've Mysql 4.0.20 installed. Quite a problem, since I've to do a program for work and I need it... gulp. ------ FULL ERROR ---- g++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../sqlplusint -I/usr/include/mysql -O3 -march=pentium4 -pipe -O3 -march=pentium4 -pipe -Wp,-MD,.deps/coldata.pp -c -fPIC -DPIC coldata.cc -o .libs/coldata.lo g++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../sqlplusint -I/usr/include/mysql -O3 -march=pentium4 -pipe -O3 -march=pentium4 -pipe -Wp,-MD,.deps/string_util.pp -c string_util.cc -o string_util.o >/dev/null 2>&1 mv -f .libs/string_util.lo string_util.lo /bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../sqlplusint -I/usr/include/mysql -O3 -march=pentium4 -pipe -O3 -march=pentium4 -pipe -c connection.cc rm -f .libs/connection.lo g++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../sqlplusint -I/usr/include/mysql -O3 -march=pentium4 -pipe -O3 -march=pentium4 -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 Reproducible: Always Steps to Reproduce: emerge mysql++ Portage 2.0.50-r9 (default-x86-1.4, gcc-3.3.4, glibc-2.3.4.20040619-r0, 2.6.7-gentoo-r11) ================================================================= System uname: 2.6.7-gentoo-r11 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz Gentoo Base System version 1.5.1 distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/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/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://ftp.linux.ee/pub/gentoo/distfiles/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aalib alsa apache2 apm arts avi berkdb bonobo cdr cjk crypt cups directfb doc dvd emacs encode esd foomaticdb gdbm gif gnome gpm gtk gtk2 gtkhtml guile imap imlib jack java jpeg kde libg++ libwww mad maildir mbox mikmod mmx motif mozilla mpeg mysql nas ncurses nls oggvorbis opengl oss pam pcmcia pdflib perl png python qt quicktime readline samba sasl sdl slang spell sse ssl svga tcltk tcpd tetex truetype video_cards_i810 video_cards_i830 x86 xml2 xmms xv zlib"
it worked with gcc3.3.3, but gcc has shifted onwards. patches to fix it gladly accepted (I don't have time).
I have the same problem with gcc-3.3.3 20040412. root@eg dev-cpp # gcc --version gcc (GCC) 3.3.3 20040412 (Gentoo Linux 3.3.3-r6, ssp-3.3.2-2, pie-8.7.6) Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. It gives the exact same output. root@eg dev-cpp # emerge info Portage 2.0.50-r9 (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 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer" CHOST="i386-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/usr/X11R6/lib/X11/xkb /usr/kde/3.2/share/config /usr/lib/mozilla/defaults/pref /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://ftp.uninett.no/pub/linux/Gentoo http://mirror.gentoo.no/ ftp://ftp.du.se/pub/os/gentoo http://ftp.du.se/pub/os/gentoo http://ds.thn.htu.se/linux/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="X alsa apm arts avi berkdb cdr crypt cups encode esd foomaticdb gdbm gif gnome gpm gtk gtk2 guile imlib ipv6 jpeg ldap libg++ libwww mad mikmod motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png python quicktime readline sdl slang spell ssl svga tcpd truetype x86 xml2 xmms xv zlib"
Just realized that if i use the mysql++-1.7.9-r6 ebuild it works. Which is masked ~keywords.
Still doesn't work for me with -r6. This seems to be a re-occurrence of Bug 49490, Bug 50442 and Bug 54220 for gcc-3.3.4. Simply change line 29 of the file sqlplusint/type_info1.hh to mysql_ti_sql_type_info() : _base_type(0), _default(false) {} in order to fix this.
Created attachment 37609 [details] Modified ebuild for mysql++-1.7.6-r6 It's true, it fixes compilation, but it is already in the patches in portage (silly from me not to check before). The problem lies in the ebuild (well, more or less): it doesn't apply the gcc3.3.3 patch also when the user has gcc3.3.4, as it should. Attaching a modified ebuild that takes this in account.
Same error with gcc-3.4.1. The Ebuild doesn't fix it. The patch mysql++-1.7.9-r5_gcc333.patch looks like fixing the problem for gcc-3.3.3 but doesn't work for gcc-3.4.1.
*** Bug 65333 has been marked as a duplicate of this bug. ***
*** Bug 62638 has been marked as a duplicate of this bug. ***
mysql++-1.7.26 is now in the tree. The upstream is now maintained by a new person, and there are finally new releases. The only downside is that they are no longer compatible with GCC-2.95. If there are no problems with .26 in the next 30 days, I'm going to remove the old versions.
marking as fixed because .26 is in the tree, and works for me. this means .9 shouldn't be needed anymore.