0
任何人都可以提供任何见解或方式来调试为什么ltdl无法加载我的库吗? 正如您从部分strace输出中可以看到的,它成功地打开了库,然后报告file not found
,然后继续前进以成功加载以相同方式构建的另一个库。我怎样才能调试呢?我一直在谷歌搜索,并没有发现有用的调试方法。libtool无法加载库
open("server/modules/smtp.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("server/modules/smtp.so", O_RDONLY) = 3
getcwd("/home/david/Documents/workspace/dvnmon", 128) = 39
1327209900.751672 3602 Failed to open server/modules/smtp: file not found
open("server/modules/snmp.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("server/modules/snmp.so", O_RDONLY) = 3
getcwd("/home/david/Documents/workspace/dvnmon", 128) = 39
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/usr/lib64/libnetsnmp.so.15", O_RDONLY) = 3
open("/usr/lib64/libcrypto.so.1.0.0", O_RDONLY) = 3
open("/lib64/libz.so.1", O_RDONLY) = 3
1327209900.800507 3602 Plugin CSNMPMonitor interface version 0.1 loaded
酷感谢thats正是我所需要的。 18996:\t服务器/模块/ smtp.so:错误:符号查找错误:未定义符号:_ZTI11CSMTPServer(fatal) 找不到.la文件,因为Im将所有模型符号链接到同一目录,并且出于某种原因符号链接.la文件不起作用,但如果我将它指向真实文件或将其复制到该目录中,它仍然无法加载smtp文件。缺少的符号是我的一个工具,它与使用实用程序.a文件分离程序有关,它明显在编译父程序时将符号留出 –