动态链接器“没有可用的版本信息”

动态链接器“没有可用的版本信息”

当我将程序和它需要的一些库复制到另一台机器时,当我在程序上运行 LDD 时,我得到“没有可用的版本信息”。

我知道为什么会发生这种情况,我只是想知道这是否有什么大不了的。我可以忽略它吗?该程序似乎正在执行并表现出预期的行为。这会不会在未来再次困扰我?

答案1

来自glibc 源代码为了ldd

if (...) {
    /* The file has no symbol versioning.  I.e., the dependent
       object was linked against another version of this file.  We
       only print a message if verbose output is requested.  */
    ...
    errstring = make_string ("no version information available ...");
    ...
}

它的意思是“版本不匹配”,包括不匹配为null。不多也不少。它会回来搞砸你吗?不幸的是,答案必须是:“可能”。如果没有它正在寻找的版本,它可能会出现错误。当然,即使它说一切都很好,它也可能有问题。

你应该担心吗?如果这是一个大型进程所依赖的生产系统,那么从其他系统复制二进制文件可能不是一个好主意。如果这只是为了你,或者只是为了让事情顺利进行,这样你就可以解决真正的问题,向前和向上。

相关内容