Ticket #1545 (Closed: fixed)
error _eh when compiling libodbc++
Priority: | normal | Reporter: | douglas |
---|---|---|---|
Severity: | minor | Assigned to: | fgerlits |
Component: | development environment | Status: | closed |
Version: | 1.0 | Resolution: | fixed |
Milestone: | 1.0.2 | Keywords: |
Description by douglas:
When trying to compile Ubuntu-specific .deb packages, I am running into what may be a simple problem.
I installed all packages described in the development environment docs, and still get the following message:
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../include -DIN_ODBCXX -D_REENTRANT -D_GNU_SOURCE -g -O2 -MT drivermanager.lo -MD -MP -MF .deps/drivermanager.Tpo -c drivermanager.cpp -fPIC -DPIC -o .libs/drivermanager.o ../include/odbc++/drivermanager.h:102: error: ISO C++ forbids declaration of 'ErrorHandler' with no type../include/odbc++/drivermanager.h:102: error: expected ';' before '*' token drivermanager.cpp:31: error: 'odbc::ErrorHandler* odbc::DriverManager::eh_' is not a static member of 'class odbc::DriverManager' drivermanager.cpp: In static member function 'static void odbc::DriverManager::shutdown()': drivermanager.cpp:79: error: 'eh_' was not declared in this scope drivermanager.cpp:85: error: 'eh_' was not declared in this scope drivermanager.cpp: In static member function 'static void odbc::DriverManager::_checkInit()': drivermanager.cpp:124: error: 'eh_' was not declared in this scope drivermanager.cpp: In static member function 'static odbc::Connection* odbc::DriverManager::_createConnection()': drivermanager.cpp:158: error: 'eh_' was not declared in this scope drivermanager.cpp: In static member function 'static odbc::DataSourceList* odbc::DriverManager::getDataSources()': drivermanager.cpp:228: error: 'eh_' was not declared in this scope drivermanager.cpp: In static member function 'static odbc::DriverList* odbc::DriverManager::getDrivers()': drivermanager.cpp:275: error: 'eh_' was not declared in this scope make[5]: *** [drivermanager.lo] Error 1 make[5]: Leaving directory `/home/douglas/livesupport/debian_build/livesupport-1.0.2ubuntu1/src/tools/libodbc++/libodbc++-0.2.3-20050404/tmp/libodbc++-0.2.3-20050404/src' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/home/douglas/livesupport/debian_build/livesupport-1.0.2ubuntu1/src/tools/libodbc++/libodbc++-0.2.3-20050404/tmp/libodbc++-0.2.3-20050404' make[3]: *** [all] Error 2 make[3]: Leaving directory `/home/douglas/livesupport/debian_build/livesupport-1.0.2ubuntu1/src/tools/libodbc++/libodbc++-0.2.3-20050404/tmp/libodbc++-0.2.3-20050404' make[2]: *** [tmp/all.stamp] Error 2 make[2]: Leaving directory `/home/douglas/livesupport/debian_build/livesupport-1.0.2ubuntu1/src/tools/libodbc++/libodbc++-0.2.3-20050404' make[1]: *** [tmp/tools_setup.stamp] Error 2 make[1]: Leaving directory `/home/douglas/livesupport/debian_build/livesupport-1.0.2ubuntu1' make: *** [build-arch-stamp] Error 2 root@douglas:/home/douglas/livesupport/debian_build/livesupport-1.0.2ubuntu1#
Changelog
Sat 19 Nov 2005 01:40:29 PM CET: Modified by maroy
Sat 19 Nov 2005 02:59:58 PM CET: Modified by fgerlits
The problem is that g++ 4.0 wants forward declarations of classes where 3.4 was happy without. This is fixed in the latest libodbc++ version (2.4pre3). I will upgrade to it.
Sat 19 Nov 2005 03:05:50 PM CET: Modified by maroy
- milestone changed from 1.1 to 1.0.x
- owner changed from maroy to fgerlits
make sure to check if our existing patches are either already included in 2.4pre3, or add them to the upgraded tool as well...
please let me know when finished
Sat 19 Nov 2005 03:13:36 PM CET: Modified by douglas
When I try to run livesupport/tools/libodbc++/libodbc++-0.2.3-20050404/bin/install.sh, I get the following message:
root@douglas:/home/douglas/livesupport/debian_build/livesupport-1.0.2ubuntu1/src/tools/libodbc++/libodbc++-0.2.3-20050404/bin# ./install-sh ./install-sh: no input file specified. root@douglas:/home/douglas/livesupport/debian_build/livesupport-1.0.2ubuntu1/src/tools/libodbc++/libodbc++-0.2.3-20050404/bin#
Should I downgrade g++ to 3.4?
Sat 19 Nov 2005 03:48:46 PM CET: Modified by fgerlits
> Should I downgrade g++ to 3.4?
No, not yet. (You may have to, if all else fails, but let's not give up just yet.)
Sat 19 Nov 2005 04:37:43 PM CET: Modified by fgerlits
Hm... libodbc++-2.4pre3 does not compile, even without the dont-install-some-docs patch (the other two have been incorporated into this version). It seems this is not a very stable release. 2.4pre2 was even missing some files, I guess this is an improvement on that.
I will try the latest CVS version; if that does not work, either, I'll go back to our earlier version and just fix this drivermanager.h bug with a patch.
Sat 19 Nov 2005 06:08:47 PM CET: Modified by fgerlits
- resolution set to fixed
- status changed from new to closed
The CVS version did not compile, either. Plan B is committed, see [1813]. Please test it (I don't have gcc 4.0 installed, so I can't.)
when checking out the sources, what happens when you try to run:
livesupport/tools/libodbc++/libodbc++-0.2.3-20050404/bin/install.sh
? is the result the same?