Bug 12773 - mysql++-1.7.9 doesn't compile gcc2.95.3
Bug#: 12773 Product:  Gentoo Linux Version: 1.0 Platform: x86
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: pgsql-bugs@gentoo.org Reported By: sn.ml@keijukammari.fi
Component: Development
URL: 
Summary: mysql++-1.7.9 doesn't compile gcc2.95.3
Keywords:  
Status Whiteboard: 
Opened: 2002-12-27 03:08 0000
Description:   Opened: 2002-12-27 03:08 0000
It can't find "ostream"

c++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../sqlplusint -I/usr/include/mysql
-march=i686 -O3 -pipe -fomit-frame-pointer -Wp,-MD,.deps/coldata.pp -c  -fPIC
-DPIC coldata.cc -o .libs/coldata.lo
In file included from coldata1.hh:10,
                 from field_names1.hh:9,
                 from result1.hh:15,
                 from query1.hh:13,
                 from connection1.hh:20,
                 from connection2.hh:4,
                 from connection3.hh:2,
                 from connection.cc:2:
null1.hh:4: ostream: No such file or directory
In file included from coldata1.hh:10,
                 from coldata2.hh:5,
                 from coldata3.hh:12,
                 from coldata4.hh:6,
                 from coldata.cc:3:
null1.hh:4: ostream: No such file or directory

------- Comment #1 From Sami Näätänen 2002-12-27 03:10:41 0000 -------
Forget this

emerge info:

Portage 2.0.46-r2 (default-1.0, gcc-2.95.3, glibc-2.2.5-r7)
=================================================================
System uname: 2.4.19-gentoo-r10 i686 Pentium III (Coppermine)
USE="x86 apm avi crypt cups encode jpeg libg++ mikmod mmx mpeg ncurses pdflib
qtmt quicktime spell truetype xml2 xmms xv berkdb esd gdbm gif gpm gphoto2 gtk
guile imlib java libwww motif mozilla nls oggvorbis opengl perl png python qt
scanner sdl slang ssl tcltk tcpd tiff X oss sse dvd cdr -3dnow -aalib -alsa
-arts -bonobo -directfb -ggi -kde -gnome -gnome-libs -ldap -mysql -nas -pam
-postgres -readline -ruby -snmp -svga -tetex"
ARCH="x86"
COMPILER=""
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=i686 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=i686 -O3 -pipe -fomit-frame-pointer"
ACCEPT_KEYWORDS="x86 ~x86"
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config
/usr/kde/2/share/config /usr/kde/3/share/config
/usr/kde/3/share/config:/usr/share/config"
CONFIG_PROTECT_MASK="/etc/init.d /etc/gconf /etc/env.d"
MAKEOPTS="-j2"
JDK_HOME="/opt/sun-jdk-1.4.1.01"
JAVA_HOME="/opt/sun-jdk-1.4.1.01"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo"

------- Comment #2 From Ryan Phillips (RETIRED) 2002-12-27 11:45:18 0000 -------
Sami: is this an upgraded gentoo?

------- Comment #3 From Sascha Herrmann 2003-01-25 18:10:11 0000 -------
hi everyone,
as i compiled some mysql++ stuff this week, i realized, that the mysq++ package
is broken for gcc3.2.* compiler for some reason i don't understand! The mysql++
package can be compiled without failure with the patches made in the ebuild
file, but any source code that includes <mysql++> fails because of some kind of
parse error!

For gcc-2.95.3 everything works fine, but you have to patch the ebuild file,
like this (be sure to use gcc-2.95.3, for both mysql++ install and your own
project!):


# Distributed under the terms of the GNU General Public License, v2 or later
# Maintainer: Ric Messier <kilroy@WasHere.COM>
# /space/gentoo/cvsroot/gentoo-x86/skel.ebuild,v 1.4 2002/03/12 16:05:09 tod Exp

S=${WORKDIR}/${P}

DESCRIPTION="C++ API interface to the MySQL database"

SRC_URI="http://mysql.he.net/Downloads/mysql++/mysql++-1.7.9.tar.gz
	http://mysql.adgrafix.com/Downloads/mysql++/mysql++-1.7.9.tar.gz
	http://mysql.fastmirror.com/Downloads/mysql++/mysql++-1.7.9.tar.gz
	http://mysql.oms-net.nl/Downloads/mysql++/mysql++-1.7.9.tar.gz"

# This is the download page but includes links to other places
HOMEPAGE="http://www.mysql.org/downloads/api-mysql++.html"

IUSE=""
SLOT="0"
KEYWORDS="x86"
LICENSE="LGPL-2"

# Depends on MySQL being installed, duh! :-)
DEPEND="mysql ( >=mysql-3.23.49 )"

src_unpack() {

	# unpack a bunck of stuff and exit
	unpack ${A} ; cd ${S}
}


src_compile() {

	# not including the directives to where MySQL is because it seems to find it
	# just fine without

	./configure \
		--host=${CHOST} \
		--prefix=/usr \
		--enable-exceptions \
		--infodir=/usr/share/info \
		--includedir=/usr/include/mysql++ \
		--libdir=/usr/lib/mysql++ \
		--mandir=/usr/share/man || die "./configure failed"
	
	emake || die "unable to make"
}

src_install () {

	make DESTDIR=${D} install || die
	# install the docs and HTML pages
	dodoc doc/*
	dohtml doc/man-html/*

}

---

As i can't correct the failure with gcc3, i strongly recommend to keep mysql++
masked, or even better (if posible?) only to allow compiling with gcc-2.95.3!

bye Sascha

------- Comment #4 From Sascha Herrmann 2003-02-07 09:42:18 0000 -------
Sami, did the modified ebuild work for you with gcc-2.95 ??? 

------- Comment #5 From Sami Näätänen 2003-02-07 15:50:56 0000 -------
Just tested the modified version in gcc 2.96.3-r8 and it works.
Although I don't need it anymore. ;)

------- Comment #6 From Seemant Kulleen (RETIRED) 2003-02-26 03:23:43 0000 -------
this is more of a gcc issue lads -- but I figure one of you can sort it

------- Comment #7 From Martin Holzer (RETIRED) 2003-04-09 14:38:39 0000 -------
fixed in cvs