Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 54220 - Compiler error building mysql++-1.7.9-r3
Summary: Compiler error building mysql++-1.7.9-r3
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux MySQL bugs team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-06-17 11:41 UTC by Kevin Lacquement
Modified: 2004-10-11 19:25 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Lacquement 2004-06-17 11:41:59 UTC
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"
Comment 1 Peter Jensen 2004-06-18 01:06:09 UTC
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.
Comment 2 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-06-18 02:21:28 UTC
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).
Comment 3 Kevin Lacquement 2004-06-18 08:47:29 UTC
Builds fine now.  Thanks.
Comment 4 Peter Ruskin 2004-10-11 18:43:04 UTC
I got the same.  I'm just emerging -r6 (still marked ~x86)
Comment 5 Peter Ruskin 2004-10-11 18:48:14 UTC
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"
Comment 6 Peter Ruskin 2004-10-11 19:25:59 UTC
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