如何测试二进制文件,看看所有共享库依赖项是否都满足?

如何测试二进制文件,看看所有共享库依赖项是否都满足?

我有一个在早期版本的 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.

我从源代码重建了程序,一切正常。

我可以使用哪些选项来自动测试二进制文件,以查看在运行它的给定平台上是否满足所有共享库依赖项?

相关内容