make[2]: Entering directory `/usr/local/Ice-3.4.2/cpp/src/FreezeScript'
rm -f ../../bin/transformdb
c++ -Wl,--enable-new-dtags -Wl,-rpath,/opt/Ice-3.4/lib64 -rdynamic -m64 -Wall -D_REENTRANT -fPIC -g -L../../lib -o ../../bin/transformdb TransformAnalyzer.o TransformVisitor.o Transformer.o transformdb.o ../FreezeScript/Grammar.o Scanner.o AssignVisitor.o Data.o Error.o Functions.o Exception.o Parser.o Print.o Util.o -lSlice -Wl,-rpath-link,/usr/local/lib64 -lIceXML -Wl,-rpath-link,/usr/lib64 -lFreeze -Wl,-rpath-link,/usr/local/lib64 -lIce -lIceUtil -lpthread -lrt -liconv -L/usr/lib64 -ldb_cxx
../../lib/libFreeze.so: undefined reference to `Db::set_partition_dirs(char const**)'
../../lib/libFreeze.so: undefined reference to `Db::get_append_recno(int (**)(Db*, Dbt*, unsigned int))'
../../lib/libFreeze.so: undefined reference to `Db::get_partition_callback(unsigned int*, unsigned int (**)(Db*, Dbt*))'
../../lib/libFreeze.so: undefined reference to `Db::set_partition(unsigned int, Dbt*, unsigned int (*)(Db*, Dbt*))'
../../lib/libFreeze.so: undefined reference to `Db::associate_foreign(Db*, int (*)(Db*, Dbt const*, Dbt*, Dbt const*, int*), unsigned int)'
../../lib/libFreeze.so: undefined reference to `Db::get_create_dir(char const**)'
../../lib/libFreeze.so: undefined reference to `Db::get_h_compare(int (**)(Db*, Dbt const*, Dbt const*))'
../../lib/libFreeze.so: undefined reference to `Db::get_h_hash(unsigned int (**)(Db*, void const*, unsigned int))'
../../lib/libFreeze.so: undefined reference to `Db::get_errcall(void (**)(DbEnv const*, char const*, char const*))'
../../lib/libFreeze.so: undefined reference to `Db::get_bt_compress(int (**)(Db*, Dbt const*, Dbt const*, Dbt const*, Dbt const*, Dbt*), int (**)(Db*, Dbt const*, Dbt const*, Dbt*, Dbt*, Dbt*))'
../../lib/libFreeze.so: undefined reference to `Db::get_bt_compare(int (**)(Db*, Dbt const*, Dbt const*))'
../../lib/libFreeze.so: undefined reference to `Db::get_alloc(void* (**)(unsigned long), void* (**)(void*, unsigned long), void (**)(void*))'
../../lib/libFreeze.so: undefined reference to `Db::sort_multiple(Dbt*, Dbt*, unsigned int)'
../../lib/libFreeze.so: undefined reference to `Db::set_bt_compress(int (*)(Db*, Dbt const*, Dbt const*, Dbt const*, Dbt const*, Dbt*), int (*)(Db*, Dbt const*, Dbt const*, Dbt*, Dbt*, Dbt*))'
../../lib/libFreeze.so: undefined reference to `Db::set_create_dir(char const*)'
../../lib/libFreeze.so: undefined reference to `Db::get_bt_prefix(unsigned long (**)(Db*, Dbt const*, Dbt const*))'
../../lib/libFreeze.so: undefined reference to `Db::get_partition_keys(unsigned int*, Dbt**)'
../../lib/libFreeze.so: undefined reference to `Db::get_partition_dirs(char const***)'
../../lib/libFreeze.so: undefined reference to `Db::get_feedback(void (**)(Db*, int, int))'
../../lib/libFreeze.so: undefined reference to `Db::get_msgcall(void (**)(DbEnv const*, char const*))'
../../lib/libFreeze.so: undefined reference to `Db::get_dup_compare(int (**)(Db*, Dbt const*, Dbt const*))'
collect2: ld 返回 1
make[2]: *** [../../bin/transformdb] 错误 1
make[2]: Leaving directory `/usr/local/Ice-3.4.2/cpp/src/FreezeScript'
make[1]: *** [all] 错误 1
make[1]: Leaving directory `/usr/local/Ice-3.4.2/cpp/src'
make: *** [all] 错误 1
刚开始学习CentOS系统,请大神帮帮忙看下,这是什么问题啊?
从编译错来看是缺了Db::set_partition_dirs等这一系列函数的定义,看看你的 /usr/lib64 下有没有libdb_cxx.so这个库。
看了,是有libdb_cxx.so这个文件的
这个是不是因为在/usr/local/lib中缺少libFreeze.so啊?我看了下,我的/usr/local/lib没有libFreeze.so