From: celliott Date: August 19 2004 4:31pm Subject: Compilation Problems With GCC V3.4.1 List-Archive: http://lists.mysql.com/plusplus/3379 Message-Id: <31349.10.0.32.2.1092933066.squirrel@mail.littletonps.org> MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit I searched the lists quite a bit before sending this email. Here is a transcript of my attempt at building mysql++ on RH Fedora Core 1. W / GCC v3.4.1. I am running Kernel 2.6.7-1.494. and Mysql Version 3.23.58 for redhat-linux-gnu on i386 [root@surveys mysql++-1.7.9]# patch -p 1 < ../mysql++-gcc-3.0.patch patching file examples/Makefile.in patching file examples/cgi_image.cc patching file examples/complic1.cc patching file examples/custom1.cc patching file examples/custom2.cc patching file examples/custom3.cc patching file examples/custom4.cc patching file examples/fieldinf1.cc patching file examples/load_file.cc patching file examples/populate.cc patching file examples/resetdb.cc patching file examples/simple1.cc patching file examples/sinisa_ex.cc patching file examples/updel_x_.cc patching file examples/util.cc patching file sqlplusint/Makefile.in patching file sqlplusint/coldata.cc patching file sqlplusint/coldata1.hh patching file sqlplusint/coldata4.hh patching file sqlplusint/compare1.hh patching file sqlplusint/connection.cc patching file sqlplusint/connection1.hh patching file sqlplusint/connection2.hh patching file sqlplusint/const_string1.hh patching file sqlplusint/custom.hh patching file sqlplusint/custom.pl patching file sqlplusint/datetime1.hh patching file sqlplusint/datetime2.hh patching file sqlplusint/exceptions.hh patching file sqlplusint/exceptions.hh.in patching file sqlplusint/field_names.cc patching file sqlplusint/field_names1.hh patching file sqlplusint/manip.cc patching file sqlplusint/manip1.hh patching file sqlplusint/query.cc patching file sqlplusint/query1.hh patching file sqlplusint/query2.hh patching file sqlplusint/result1.hh patching file sqlplusint/result2.hh patching file sqlplusint/row1.hh patching file sqlplusint/row2.hh patching file sqlplusint/set.cc patching file sqlplusint/set1.hh patching file sqlplusint/set2.hh patching file sqlplusint/sql_query.cc patching file sqlplusint/sql_query1.hh patching file sqlplusint/sql_string1.hh patching file sqlplusint/string_util.cc patching file sqlplusint/string_util.hh patching file sqlplusint/type_info.cc patching file sqlplusint/type_info1.hh patching file sqlplusint/vallist.cc patching file sqlplusint/vallist1.hh [root@surveys mysql++-1.7.9]# patch -p 1 < ../mysql++-gcc-3.2.patch patching file configure.in patching file sqlplusint/coldata1.hh patching file sqlplusint/compare1.hh patching file sqlplusint/connection.cc patching file sqlplusint/exceptions.hh.in patching file sqlplusint/null1.hh patching file sqlplusint/null2.hh patching file sqlplusint/set3.hh [root@surveys mysql++-1.7.9]# patch -p 1 < ../mysqlplus-gcc-3.4.patch patching file sqlplusint/compare1.hh patching file sqlplusint/connection1.hh patching file sqlplusint/datetime.cc patching file sqlplusint/datetime1.hh patching file sqlplusint/exceptions.hh patching file sqlplusint/field_names1.hh patching file sqlplusint/field_types1.hh patching file sqlplusint/manip.cc patching file sqlplusint/manip1.hh patching file sqlplusint/query.cc patching file sqlplusint/resiter1.hh patching file sqlplusint/result1.hh patching file sqlplusint/row2.hh patching file sqlplusint/set1.hh patching file sqlplusint/set3.hh patching file sqlplusint/sql_query.cc patching file sqlplusint/sql_query1.hh patching file sqlplusint/stream2string3.hh patching file sqlplusint/type_info.cc [root@surveys mysql++-1.7.9]# ./configure creating cache ./config.cache checking for a BSD compatible install... /usr/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 ) works... yes checking whether the C compiler (gcc ) 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/bin/ld checking if the linker (/usr/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/bin/ld) is GNU ld... yes checking whether the linker (/usr/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/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/local/lib/mysql checking for MySQL include directory... /usr/local/include/mysql checking for gcc... (cached) gcc checking whether the C compiler (gcc -g -O2 -L/usr/local/lib/mysql) works... yes checking whether the C compiler (gcc -g -O2 -L/usr/local/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++... c++ checking whether the C++ compiler (c++ -L/usr/local/lib/mysql) works... yes checking whether the C++ compiler (c++ -L/usr/local/lib/mysql) is a cross-compiler... no checking whether we are using GNU C++... yes checking whether c++ 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 [root@surveys mysql++-1.7.9]# make make all-recursive make[1]: Entering directory `/root/mysql++-1.7.9' Making all in sqlplusint make[2]: Entering directory `/root/mysql++-1.7.9/sqlplusint' /bin/sh ../libtool --mode=compile c++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../sqlplusint -I/usr/local/include/mysql -g -O2 -c coldata.cc mkdir .libs c++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../sqlplusint -I/usr/local/include/mysql -g -O2 -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:31: error: uninitialized member `mysql_ti_sql_type_info::_base_type' with `const' type `const unsigned char' type_info1.hh:31: error: uninitialized member `mysql_ti_sql_type_info::_default' with `const' type `const bool' In file included from coldata4.hh:6, from coldata.cc:3: coldata3.hh: In member function `mysql_ColData::operator MysqlNull() const': coldata3.hh:19: error: there are no arguments to `size' that depend on a template parameter, so a declaration of `size' must be available coldata3.hh:19: error: (if you use `-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) In file included from coldata.cc:3: coldata4.hh: In member function `Type mysql_ColData::conv(Type) const': coldata4.hh:23: error: there are no arguments to `c_str' that depend on a template parameter, so a declaration of `c_str' must be available make[2]: *** [coldata.lo] Error 1 make[2]: Leaving directory `/root/mysql++-1.7.9/sqlplusint' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/mysql++-1.7.9' make: *** [all-recursive-am] Error 2 [root@surveys mysql++-1.7.9]# I have also tried this with the 3.2.2 patch as well and it did not help. I hope this isn't a stupid repetition of a question asked 100 times. Thanks, Chad Elliott celliott@stripped