libgdbm.a(gdbmerrno.o): relocation R_X86_64_32S against `gdbm_errlist' can not b

落水铅华 2017-09-23 04:21:34
最近在使用qconf做项目,即把qconf一直到我的实际项目中,项目已基本完成,在32的linux的系统上,可以正常生成我需要的库,但是把我的代码放在64的linux系统上,死活编译不过,编译报错的信息如下:
.....................
....................

/usr/bin/install -c -m 644 ./gdbm.info '/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/agent/../deps/gdbm/_install/share/info'
install-info --info-dir='/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/agent/../deps/gdbm/_install/share/info' '/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/agent/../deps/gdbm/_install/share/info/gdbm.info'
/bin/mkdir -p '/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/agent/../deps/gdbm/_install/share/man/man1'
/usr/bin/install -c -m 644 gdbm_dump.1 gdbm_load.1 gdbmtool.1 '/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/agent/../deps/gdbm/_install/share/man/man1'
/bin/mkdir -p '/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/agent/../deps/gdbm/_install/share/man/man3'
/usr/bin/install -c -m 644 gdbm.3 '/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/agent/../deps/gdbm/_install/share/man/man3'
make[2]: Leaving directory `/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/deps/gdbm/doc'
make[1]: Leaving directory `/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/deps/gdbm/doc'
Making install in tests
make[1]: Entering directory `/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/deps/gdbm/tests'
make[2]: Entering directory `/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/deps/gdbm/tests'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/deps/gdbm/tests'
make[1]: Leaving directory `/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/deps/gdbm/tests'
make[1]: Entering directory `/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/deps/gdbm'
make[2]: Entering directory `/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/deps/gdbm'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/deps/gdbm'
make[1]: Leaving directory `/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/deps/gdbm'
/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/hashtable.o/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/hashtable_itr.o/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/libzkmt_la-mt_adaptor.o/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/libzkmt_la-recordio.o/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/libzkmt_la-zk_hashtable.o/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/libzkmt_la-zk_log.o/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/libzkmt_la-zookeeper.jute.o/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/libzkmt_la-zookeeper.o
-- Configuring done
-- Generating done
-- Build files have been written to: /home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/build
Scanning dependencies of target qconf_agent
[ 2%] Building CXX object agent/CMakeFiles/qconf_agent.dir/qconf_agent.cc.o
[ 4%] Building CXX object agent/CMakeFiles/qconf_agent.dir/qconf_cmd.cc.o
[ 6%] Building CXX object agent/CMakeFiles/qconf_agent.dir/qconf_config.cc.o
[ 9%] Building CXX object agent/CMakeFiles/qconf_agent.dir/qconf_daemon.cc.o
[ 11%] Building CXX object agent/CMakeFiles/qconf_agent.dir/qconf_dump.cc.o
[ 13%] Building CXX object agent/CMakeFiles/qconf_agent.dir/qconf_feedback.cc.o
[ 16%] Building CXX object agent/CMakeFiles/qconf_agent.dir/qconf_gray.cc.o
[ 18%] Building CXX object agent/CMakeFiles/qconf_agent.dir/qconf_lock.cc.o
[ 20%] Building CXX object agent/CMakeFiles/qconf_agent.dir/qconf_script.cc.o
[ 23%] Building CXX object agent/CMakeFiles/qconf_agent.dir/qconf_watcher.cc.o
[ 25%] Building CXX object agent/CMakeFiles/qconf_agent.dir/qconf_zoo.cc.o
[ 27%] Building CXX object agent/CMakeFiles/qconf_agent.dir/__/base/qconf_format.cc.o
[ 30%] Building CXX object agent/CMakeFiles/qconf_agent.dir/__/base/qconf_log.cc.o
[ 32%] Building CXX object agent/CMakeFiles/qconf_agent.dir/__/base/qconf_msg.cc.o
[ 34%] Building CXX object agent/CMakeFiles/qconf_agent.dir/__/base/qconf_shm.cc.o
[ 37%] Building CXX object agent/CMakeFiles/qconf_agent.dir/__/base/qlibc/md5.c.o
[ 39%] Building CXX object agent/CMakeFiles/qconf_agent.dir/__/base/qlibc/qhash.c.o
[ 41%] Building CXX object agent/CMakeFiles/qconf_agent.dir/__/base/qlibc/qhasharr.c.o
[ 44%] Linking CXX shared library libqconf_agent.so
/usr/bin/ld: ../../agent/../deps/gdbm/_install/lib/libgdbm.a(gdbmerrno.o): relocation R_X86_64_32S against `gdbm_errlist' can not be used when making a shared object; recompile with -fPIC
../../agent/../deps/gdbm/_install/lib/libgdbm.a: could not read symbols: Bad value
collect2: ld 返回 1
make[2]: *** [agent/libqconf_agent.so] 错误 1
make[1]: *** [agent/CMakeFiles/qconf_agent.dir/all] 错误 2
make: *** [all] 错误 2
cp: 无法获取"./agent/libqconf_agent.so" 的文件状态(stat): 没有那个文件或目录

/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/hashtable.o/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/hashtable_itr.o/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/libzkmt_la-mt_adaptor.o/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/libzkmt_la-recordio.o/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/libzkmt_la-zk_hashtable.o/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/libzkmt_la-zk_log.o/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/libzkmt_la-zookeeper.jute.o/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/../../deps/zookeeper/_install/lib/libzkmt_la-zookeeper.o
-- Configuring done
-- Generating done
-- Build files have been written to: /home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/driver/c++/build
Scanning dependencies of target qconf
[ 4%] Building CXX object CMakeFiles/qconf.dir/src/driver_api.cc.o
[ 9%] Building CXX object CMakeFiles/qconf.dir/src/qconf.cc.o
[ 13%] Building CXX object CMakeFiles/qconf.dir/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/base/qconf_format.cc.o
[ 18%] Building CXX object CMakeFiles/qconf.dir/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/base/qconf_log.cc.o
[ 22%] Building CXX object CMakeFiles/qconf.dir/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/base/qconf_msg.cc.o
[ 27%] Building CXX object CMakeFiles/qconf.dir/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/base/qconf_shm.cc.o
[ 31%] Linking CXX shared library libqconf.so
[ 50%] Built target qconf
Scanning dependencies of target qconf_static
[ 54%] Building CXX object CMakeFiles/qconf_static.dir/src/driver_api.cc.o
[ 59%] Building CXX object CMakeFiles/qconf_static.dir/src/qconf.cc.o
[ 63%] Building CXX object CMakeFiles/qconf_static.dir/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/base/qconf_format.cc.o
[ 68%] Building CXX object CMakeFiles/qconf_static.dir/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/base/qconf_log.cc.o
[ 72%] Building CXX object CMakeFiles/qconf_static.dir/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/base/qconf_msg.cc.o
[ 77%] Building CXX object CMakeFiles/qconf_static.dir/home/jswlan/wangchao/qconf_zbbroad/ZBBroad/IT_CODE/001.BOSS/21.cpp/src/common/QConf-master/base/qconf_shm.cc.o
[ 81%] Linking CXX static library libqconf.a
[100%] Built target qconf_static
finished
[jswlan@zhongbo-112 QConf-master]$

对于qconf源码的修改,源码是生成了qconf_agent可执行程序,我将他修改成生成qconf_agent.so,故而修改了agent目录下的CMakeLists.txt文件,将add_executable(qconf_agent ${DIR_SRCS})
修改为add_library(qconf_agent SHARED ${DIR_SRCS})
以上对qconf源码及配置的修改,在32位机上编译OK,但是在64位上,死活编译不过,一直显示gdbm的相关错误(即上面的编译错误),请大神正解
...全文
191 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧