Archived
This forum has been archived. Please start a new discussion on GitHub.
cannot find -ldb_cxx on RHEL
Hi All,
I have searched the forums about this (http://www.zeroc.com/vbulletin/showthread.php?t=1410&highlight=db_cxx) but still it's not fixed!
I am positive I have configured everything correctly yet ld complains that db_cxx doesn't exist even though it definitely does. See below:
I have searched the forums about this (http://www.zeroc.com/vbulletin/showthread.php?t=1410&highlight=db_cxx) but still it's not fixed!
I am positive I have configured everything correctly yet ld complains that db_cxx doesn't exist even though it definitely does. See below:
c++ -shared -Wl,--enable-new-dtags -Wl,-rpath,/usr/local/Ice-3.0.1/lib -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g -L../../lib -o ../../lib/libFreeze.so.3.0.1 -Wl,-h,libFreeze.so.30 CatalogData.o Catalog.o ConnectionF.o ConnectionI.o Connection.o DB.o EvictorF.o EvictorI.o EvictorIteratorI.o Evictor.o EvictorStorage.o Exception.o IndexI.o Index.o MapI.o ObjectStore.o PingObject.o SharedDbEnv.o SharedDb.o TransactionHolder.o TransactionI.o Transaction.o Util.o -lIce -lIceUtil -L/usr/local/BerkelyDB.4.3/lib -ldb_cxx-4.3 -lpthread /usr/bin/ld: cannot find -ldb_cxx-4.3 collect2: ld returned 1 exit status make[2]: *** [../../lib/libFreeze.so.3.0.1] Error 1 make[2]: Leaving directory `/usr/local/src/Ice-3.0.1/src/Freeze' make[1]: *** [all] Error 1 make[1]: Leaving directory `/usr/local/src/Ice-3.0.1/src' make: *** [all] Error 1 [root@tcislinux Ice-3.0.1]# ls /usr/local/BerkeleyDB.4.3/lib/ libdb-4.3.a libdb-4.3.so libdb.a libdb_cxx-4.3.la libdb_cxx-4.so libdb_cxx.so libdb-4.3.la libdb-4.so libdb_cxx-4.3.a libdb_cxx-4.3.so libdb_cxx.a libdb.so [root@tcislinux Ice-3.0.1]#As you can see, I have followed advice from previous posts on the forum and changed the references to -ldb_cxx in config/Make.rules to -ldb_cxx.4.3 but it still doesn't work. This is frustrating because the file does exist and Ice is correctly configured to point to it!
0
Comments
-
Sorry, I fogot to mention I have tried changing name of the library from -ldb_cxx to -ldb_ccx.4 and various other variations in order to point to the correct so file but it still doesn't work!0
-
Just as a wild guess, perhaps your gcc doesn't like the ordering of the parameters? Try to move the -L/usr/local/BerkelyDB.4.3/lib -ldb_cxx-4.3 to the beginning of the link line.0
-
It also looks like you have a typo in your BerkeleyDB directory ("-L/usr/local/BerkelyDB.4.3/lib"). "Berkely" should probably be "Berkeley" instead.
Benoit.0 -
benoit wrote:It also looks like you have a typo in your BerkeleyDB directory ("-L/usr/local/BerkelyDB.4.3/lib"). "Berkely" should probably be "Berkeley" instead.
Benoit.
Damn it! Thankyou, you're right. Sorry for wasting your time0