rsync:/usr/lib/libpopt.so.0:没有可用的版本信息(rsync需要)

时间:2014-11-24 14:09:45

标签: linux linker version rsync shared-objects

执行命令“rsync / / tmp”时出现此错误。

这似乎是一个警告,但我仍然想要消除这个警告。我该如何解决这个问题?

如果它是库中的版本问题,我如何知道我所拥有的库版本以及它所期望的版本

2 个答案:

答案 0 :(得分:0)

您使用

获得rsync依赖项
[root]# ldd /usr/bin/rsync
        libacl.so.1 => /lib64/libacl.so.1 (0x0000003aa8c00000)
        libpopt.so.0 => /usr/lib64/libpopt.so.0 (0x0000003730c00000)
        libc.so.6 => /lib64/libc.so.6 (0x000000372e800000)
        libattr.so.1 => /lib64/libattr.so.1 (0x0000003aa8800000)
        /lib64/ld-linux-x86-64.so.2 (0x000000372e400000)

然后你用yum获得包裹:

[root]# yum provides  /usr/lib64/libpopt.so.0
Importing additional filelist information
popt-1.10.2.3-34.el5.x86_64 : A C library for parsing command line parameters.
Repo        : redhat
Matched from:
Filename    : /usr/lib64/libpopt.so.0

所以

yum reinstall popt

应该提供您的依赖

答案 1 :(得分:0)

实际上,在同一位置生成了两个具有相同版本号的库(popt库)。这就是我的案例中序列流的发生方式。

1)构建第一个popt库(libpopt.so.0)。 2)使用步骤(1)中生成的第一个libpopt.so.0构建rsync。 3)构建另一个修改的popt库(libpopt.so.0)并将其放置在生成第一个popt库的相同位置。 4)因此rsync使用特定的popt库进行构建。它试图在运行时使用不同的popt库。

解决方案是删除任何popt库。我做了,它解决了这个问题。