如何測試二進位文件,看看所有共享庫相依性是否都滿足?

如何測試二進位文件,看看所有共享庫相依性是否都滿足?

我有一個在早期版本的 Fedora 上編譯的程序,在升級後突然崩潰了。當時我正在運行舊版本的 Fedora,該版本已停止接收更新;所以我決定升級。

出乎意料的是,由於缺少共享庫,二進位檔案無法運行:

error while loading shared libraries: libboost_filesystem.so.1.66.0:
cannot open shared object file: No such file or directory

必要的套件已安裝,但版本已更改:

Package boost-filesystem-1.69.0-9.fc31.x86_64 is already installed.

問題在於該程式連結到特定版本的libboost_filesystem.so.

我從原始碼重建了程序,一切正常。

我可以使用哪些選項來自動測試二進位文件,以查看在運行它的給定平台上是否滿足所有共享庫依賴項?

相關內容