V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jimy1
V2EX  ›  C

[请教] 加载动态库报错“Connection_Init: 参照的符号没有找到”,此动态库由 3 个.o 文件生成,其中一个.o 文件是包含这个“Connection_Init”函数的,求解,谢谢了

  •  
  •   jimy1 · 2017-12-21 13:21:01 +08:00 · 1858 次点击
    这是一个创建于 2530 天前的主题,其中的信息可能已经有所发展或是发生改变。

    [请教] 加载动态库报错“ Connection_Init: 参照的符号没有找到”,此动态库由 3 个.o 文件生成,其中一个.o 文件是包含这个“ Connection_Init ”函数的,求解,谢谢了

    在 sun 平台 Solaris10 运行一个程序需要加载“ libpsmdb.so ”,报错信息如下:

      SERVICE(6010001) OBS-PS-1006:服务开通动态库装载错误(libpsmdb.so):error[couldn't load file "libpsmdb.so": ld.so.1: psagent_single: 致命的: 重定位错误: 文件 /tank/data1/obshlj/lib/libpsmdb.so: 符号 Connection_Init: 参照的符号没有找到]
    

    libpsmdb.so ”由 3 个.o 文件生成( clogfile.o psmdb.o sockmdb.o ),报错符号对应函数在“ psmdb.cc ”文件里面能找到:

      t5240-1 yanwei 22 % grep Connection_Init ./*
    ./psmdb.cc:int Connection_Init(Tcl_Interp *interp);
    ./psmdb.cc:          if(Connection_Init(interp) != TCL_OK) {
    

    如下是用 3 个.o 生成“ libpsmdb.so ”的命令

    CC -I/tank/data/build/test1/obs61_vb3.3/platform/include -L/tank/data/build/test1/obs61_vb3.3/platform/lib -G -o libpsmdb.so clogfile.o psmdb.o sockmdb.o -ldes -laicrypt -lframe -lCrun -lm -lc -lnsl -lsocket
    

    3 个.o 生成的命令:

    CC -I/tank/data/build/test1/obs61_vb3.3/platform/include -L/tank/data/build/test1/obs61_vb3.3/platform/lib  -I/tank/data/build/test1/obs61_vb3.3/platform/include -O  -KPIC -I. -I/tank/data/build/test1/obs61_vb3.3/platform/include -I/aitools/include     -c clogfile.cc -o clogfile.o
    CC -DORACLE -DAIDB2 -DNO_CONST -DUSE_NON_CONST -g -I/tank/data/build/test1/obs61_vb3.3/platform/include -L/tank/data/build/test1/obs61_vb3.3/platform/lib -I/aitools/include -O -KPIC -c psmdb.cc -o psmdb.o
    CC -I/tank/data/build/test1/obs61_vb3.3/platform/include -L/tank/data/build/test1/obs61_vb3.3/platform/lib  -I/tank/data/build/test1/obs61_vb3.3/platform/include -O  -KPIC -I. -I/tank/data/build/test1/obs61_vb3.3/platform/include -I/aitools/include     -c sockmdb.cc -o sockmdb.o 
    

    请知道的 v 友帮忙解答,谢谢了

    1 条回复    2017-12-21 13:41:03 +08:00
    momocraft
        1
    momocraft  
       2017-12-21 13:41:03 +08:00   ❤️ 1
    那个程序期待的 (链接到的) ABI 是否和你的.so 一致? ldd 可以正确地找到你提供的.so 吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1047 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 18:36 · PVG 02:36 · LAX 10:36 · JFK 13:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.