Archived

This forum has been archived. Please start a new discussion on GitHub.

can not find libdb_cxx while compile Ice-3.3.1/cpp libFreeze

while compile Ice-3.3.1 libFreeze.so.3.3.1 got the "can not find libdb_cxx" but there in /usr/lib lives libdb_cxx-4.2.so ....

so what's wrong. thanks!


make[3]: Entering directory `/opt/honeynet/app/Ice-3.3.1/cpp/src/Freeze'
rm -f ../../lib/libFreeze.so.3.3.1
c++ -shared -Wl,--enable-new-dtags -Wl,-rpath,/opt/Ice-3.3/lib64 -m64 -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl -fPIC -g -L../../lib -o ../../lib/libFreeze.so.3.3.1 -Wl,-h,libFreeze.so.33 BackgroundSaveEvictor.o BackgroundSaveEvictorI.o CatalogData.o Catalog.o CatalogIndexList.o ConnectionI.o Connection.o DB.o EvictorI.o EvictorIteratorI.o EvictorStorage.o Evictor.o Exception.o IndexI.o Index.o MapDb.o MapI.o ObjectStore.o PingObject.o SharedDbEnv.o TransactionalEvictor.o TransactionalEvictorI.o TransactionalEvictorContext.o TransactionHolder.o TransactionI.o Transaction.o Util.o -lIce -lIceUtil -ldb_cxx -lpthread -lrt
/usr/bin/ld: cannot find -ldb_cxx
collect2: ld returned 1 exit status
make[3]: *** [../../lib/libFreeze.so.3.3.1] 错误 1
make[3]: Leaving directory `/opt/honeynet/app/Ice-3.3.1/cpp/src/Freeze'
make[2]: *** [all] 错误 1
make[2]: Leaving directory `/opt/honeynet/app/Ice-3.3.1/cpp/src'
make[1]: *** [all] 错误 1
make[1]: Leaving directory `/opt/honeynet/app/Ice-3.3.1/cpp'
make: *** [all] 错误 1
[root@center Ice-3.3.1]# locate *db_cxx*
/usr/share/doc/db4-devel-4.2.52/ref/upgrade.3.0/db_cxx.html
/usr/include/db4/db_cxx.h
/usr/include/db_cxx.h
/usr/lib/libdb_cxx-4.2.a
/usr/lib/libdb_cxx-4.2.so
/usr/lib/libdb_cxx-4.2.la
/usr/lib/tls/i586/libdb_cxx-4.2.so
/usr/lib/tls/i486/libdb_cxx-4.2.so
/usr/lib/tls/i686/libdb_cxx-4.2.so
/usr/lib/libdb_cxx-4.3.so
/usr/lib/libdb_cxx.so
/usr/lib64/libdb_cxx-4.2.a
/usr/lib64/libdb_cxx-4.2.so
/usr/lib64/libdb_cxx-4.2.la
/usr/lib64/tls/libdb_cxx-4.2.so

Comments

  • Is it the problem of the lib version?
  • matthew
    matthew NL, Canada
    Yes, as noted in the INSTALL.LINUX file we depend on Berkeley DB 4.6.21. If you are using a supported platform we provide RPMs for the required version of Berkeley DB (as well as RPMs for Ice).
  • but..on onther linux, make in cpp path works just good..And I tried to copy all the libs blow to the target maching, but it does work in the target maching!

    [root@localhost cpp]# locate *db_cxx*
    /usr/include/db_cxx.h
    /usr/include/db4/db_cxx.h
    /usr/lib/libdb_cxx-4.3.a
    /usr/lib/libdb_cxx-4.3.la
    /usr/lib/libdb_cxx-4.3.so
    /usr/lib/libdb_cxx.so
    /usr/share/doc/db4-devel-4.3.29/ref/upgrade.3.0/db_cxx.html
  • finally, I try to install db64-4.6.21, but..followwing msg trouble me..some one say that rtld is in glibc...how I can solve this problem?

    [root@center app]# rpm -ivh db46-4.6.21-3ice.rhel5.x86_64.rpm
    warning: db46-4.6.21-3ice.rhel5.x86_64.rpm: V3 DSA signature: NOKEY, key ID 06132997
    error: Failed dependencies:
    rtld(GNU_HASH) is needed by db46-4.6.21-3ice.rhel5.x86_64
  • by the way, the target machine is : x86_64 x86_64 x86_64 GNU/Linux
  • matthew
    matthew NL, Canada
    You need to tell us what Linux version you are using. If you are not using a supported version of Linux (see http://www.zeroc.com/platforms_3_3_1.html for a list), the RPMs will not work, and you'll need to build Ice and most likely the third party dependencies yourself.
  • release ver: GreatTurbo Enterprise Server 10.5 (Zuma)
    kernel ver: 2.6.9-8.11smp
    cpu: x86_64

    Can I use Ice-3.3.1 on this env.

    thanks..
  • matthew
    matthew NL, Canada
    It is highly likely that Ice will work on any Linux, however, you will have to do the work to ensure that the necessary components are installed. If you want commercial support for this environment, please contact us at sales@zeroc.com.

    However, since you are a university user of Ice and thus likely not restricted to any particular version of Linux, I would recommend instead using RHEL 4.2 or 5.1 (or CentOS which is a RHEL clone) which is supported out of the box.