在我们的产品中,我们发布了一些动态链接到“libpam”等系统库的 linux 二进制文件。在某些客户系统上,当程序运行时,我们在 stderr 上收到以下错误:
./authpam: /lib/libpam.so.0: no version information available (required by authpam)
应用程序运行良好并执行动态库中的代码。所以这不是一个致命的错误,它实际上只是一个警告。
我认为当系统安装的库缺少我们的可执行文件期望的东西时,这是来自动态链接器的错误。我对动态链接过程的内部了解不多......并且谷歌搜索该主题并没有多大帮助。:(
有谁知道是什么导致了这个错误?...我如何诊断原因?...以及我们如何更改可执行文件以避免此问题?
更新:客户升级到最新版本的debian“测试”,出现同样的错误。所以它不是一个过时的 libpam 库。我想我想了解链接器在抱怨什么?我如何调查根本原因等?