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