Archived
This forum has been archived. Please start a new discussion on GitHub.
Problems compiling against db-4.2.52
![Bruce](https://forums.zeroc.com/uploads/customavatars/20/navatar_20.gif)
in Bug Reports
I am trying to compile Ice-1.2.0 (under Redhat 9). INSTALL.LINUX says I need
to build db-4.1, but I couldn't find this release at the sleepycat site so I downloaded
db.4.2.52. I built db using with "export LD_ASSUME_KERNEL=2.4.1" and installed
it into /usr/local/db. I get the following link errors while compiling icebox:
c++ -g -ftemplate-depth-128 -fPIC -Wall -D_REENTRANT -L../../lib -o ../../bin/icebox ServiceManagerI.o Server.o -lIceBox -lFreeze -lIce -lIceUtil -lpthread -L/usr/local/db/lib -ldb_cxx
../../lib/libFreeze.so: undefined reference to `DbEnv::set_rep_limit(unsigned, unsigned)'
../../lib/libFreeze.so: undefined reference to `DbEnv::get_errpfx(char const**)'
../../lib/libFreeze.so: undefined reference to `DbEnv::set_rep_transport(int, int (*)(DbEnv*, Dbt const*, Dbt const*, DbLsn const*, int, unsigned))'
../../lib/libFreeze.so: undefined reference to `DbEnv::dbrename(DbTxn*, char const*, char const*, char const*, unsigned)'
../../lib/libFreeze.so: undefined reference to `Db::get_env()'
I don't see a libdb_cxx in /usr/local/db/lib. Have I done something wrong building db or
has this library been removed in 4.2.52? Perhaps someone can point me at a download
for db-4.1?
Bruce Fountain
to build db-4.1, but I couldn't find this release at the sleepycat site so I downloaded
db.4.2.52. I built db using with "export LD_ASSUME_KERNEL=2.4.1" and installed
it into /usr/local/db. I get the following link errors while compiling icebox:
c++ -g -ftemplate-depth-128 -fPIC -Wall -D_REENTRANT -L../../lib -o ../../bin/icebox ServiceManagerI.o Server.o -lIceBox -lFreeze -lIce -lIceUtil -lpthread -L/usr/local/db/lib -ldb_cxx
../../lib/libFreeze.so: undefined reference to `DbEnv::set_rep_limit(unsigned, unsigned)'
../../lib/libFreeze.so: undefined reference to `DbEnv::get_errpfx(char const**)'
../../lib/libFreeze.so: undefined reference to `DbEnv::set_rep_transport(int, int (*)(DbEnv*, Dbt const*, Dbt const*, DbLsn const*, int, unsigned))'
../../lib/libFreeze.so: undefined reference to `DbEnv::dbrename(DbTxn*, char const*, char const*, char const*, unsigned)'
../../lib/libFreeze.so: undefined reference to `Db::get_env()'
I don't see a libdb_cxx in /usr/local/db/lib. Have I done something wrong building db or
has this library been removed in 4.2.52? Perhaps someone can point me at a download
for db-4.1?
Bruce Fountain
0
Comments
-
Hi Bruce,
not sure what's going on there exactly -- I haven't tried with 4.2 yet. But, from the errors you are getting, I suspect that the Berkeley DB API has changed. Until we get around to porting to the latest version, you can pick up 4.1.25 at http://www.sleepycat.com/update/snapshot/db-4.1.25.tar.gz. That version is known to work.
Cheers,
Michi.0 -
Damn. I just built it again from db-4.1.25 and I got the same error. There is still no
libdb_cxx.a in /usr/local/db/lib. I built db as per the INSTALL.LINUX instructions
for RH9, but without the --enable-java option. Am I missing something obvious?0 -
Did you run configure with --enable-cxx? Have a look at:
http://www.sleepycat.com/docs/ref/build_unix/conf.html0 -
Originally posted by marc
Did you run configure with --enable-cxx?
Umm.... No. In my defense I will point out that INSTALL.LINUX
doesn't mention --enable-cxx, and I assumed that it would build
the c++ libraries by default. And it was late. And the dog ate my
homework...0 -
Yes, that's an unfortunate bug in INSTALL.LINUX.
See http://www.zeroc.com/vbulletin/showthread.php?s=&threadid=263 for more details. It will be fixed in the next release.
Cheers,
Bernard0