ltdlがライブラリをロードできない理由をデバッグするための洞察や方法はありますか? partial 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
私が必要としていたことをクールに感謝します。 18996:\tサーバ/モジュール/ smtp.so:エラー:シンボル検索エラー:未定義シンボル:_ZTI11CSMTPServer(致命的) すべてのモデルを同じディレクトリにシンボリックリンクしているため、何らかの理由でシンボリックリンクが.laファイルは機能しませんが、実際のファイルを指すか、またはそのディレクトリにコピーすると、smtpファイルをロードできません。不足しているシンボルは、ユーティリティの.aファイルを使用してプログラムを分割し、親プログラムがコンパイルされた時点でそのシンボルを明白に残していることと関連があります。 –