如何查找与特定库版本对应的包

时间:2014-01-15 17:10:17

标签: centos shared-libraries yum

我有一台安装了CentOS 6.5的服务器。

现在我必须安装一些rpms(IBM的Tivoli Backup Client),但这不起作用, 由于依赖失败:

[root@server1 tivoli-install]# rpm -ihv TIVsm-APIcit.x86_64.rpm
error: Failed dependencies:
  libc.so.6 is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libc.so.6(GLIBC_2.0) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libc.so.6(GLIBC_2.1) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libc.so.6(GLIBC_2.1.3) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libc.so.6(GLIBC_2.2) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libc.so.6(GLIBC_2.3) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libc.so.6(GLIBC_2.3.2) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libdl.so.2 is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libdl.so.2(GLIBC_2.0) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libdl.so.2(GLIBC_2.1) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libgcc_s.so.1 is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libgcc_s.so.1(GCC_3.0) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libgcc_s.so.1(GLIBC_2.0) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libm.so.6 is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libnsl.so.1 is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libpthread.so.0 is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libpthread.so.0(GLIBC_2.0) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libpthread.so.0(GLIBC_2.1) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libpthread.so.0(GLIBC_2.2) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libpthread.so.0(GLIBC_2.3.2) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libstdc++.so.5 is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libstdc++.so.5(CXXABI_1.2) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libstdc++.so.5(GLIBCPP_3.2) is needed by TIVsm-APIcit-6.4.1-3.x86_64
  libstdc++.so.5(GLIBCPP_3.2.2) is needed by TIVsm-APIcit-6.4.1-3.x86_64

据我所知,我有所有“缺失”的库,但版本错误。 我的共享库都有2.12版本:

[root@server1 tivoli-install]# ls -l `locate libc.so`
lrwxrwxrwx. 1 root root  12 Jan  9 13:13 /lib64/libc.so.6 -> libc-2.12.so
-rw-r--r--. 1 root root 253 Nov 21 22:21 /usr/lib64/libc.so

[root@server1 tivoli-install]# ls -l `locate libdl.so`
lrwxrwxrwx. 1 root root 13 Jan  9 13:13 /lib64/libdl.so.2 -> libdl-2.12.so
lrwxrwxrwx. 1 root root 22 Jan  9 13:14 /usr/lib64/libdl.so -> ../../lib64/libdl.so.2

[root@server1 tivoli-install]# ls -l `locate libm.so`
lrwxrwxrwx. 1 root root 12 Jan  9 13:13 /lib64/libm.so.6 -> libm-2.12.so
lrwxrwxrwx. 1 root root 21 Jan  9 13:14 /usr/lib64/libm.so -> ../../lib64/libm.so.6

[root@server1 tivoli-install]# ls -l `locate libnsl.so`
lrwxrwxrwx. 1 root root 14 Jan  9 13:13 /lib64/libnsl.so.1 -> libnsl-2.12.so
lrwxrwxrwx. 1 root root 23 Jan  9 13:14 /usr/lib64/libnsl.so -> ../../lib64/libnsl.so.1

[root@server1 tivoli-install]# ls -l `locate libpthread`
-rwxr-xr-x. 1 root root 145896 Nov 21 22:38 /lib64/libpthread-2.12.so
lrwxrwxrwx. 1 root root     18 Jan  9 13:13 /lib64/libpthread.so.0 -> libpthread-2.12.so
-rw-r--r--. 1 root root    222 Nov 21 22:21 /usr/lib64/libpthread.so

其他人也出现在错误的版本中:

[root@server1 tivoli-install]# ls -l `locate libstdc++`
lrwxrwxrwx.   1 root root      19 Jan  9 13:13 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.13
-rwxr-xr-x    1 root root  989840 Nov 21 19:08 /usr/lib64/libstdc++.so.6.0.13
-rw-r--r--    1 root root 2810858 Nov 21 19:08 /usr/lib/gcc/x86_64-redhat-linux/4.4.4/libstdc++.a
lrwxrwxrwx    1 root root      37 Jan 14 13:10 /usr/lib/gcc/x86_64-redhat-linux/4.4.4/libstdc++.so -> ../../../../lib64/libstdc++.so.6.0.13

[root@server1 tivoli-install]# ls -l `locate libgcc_s.so`
lrwxrwxrwx. 1 root root 28 Jan  9 13:12 /lib64/libgcc_s.so.1 -> libgcc_s-4.4.7-20120601.so.1
lrwxrwxrwx  1 root root 20 Jan 14 12:49 /usr/lib/gcc/x86_64-redhat-linux/4.4.4/libgcc_s.so -> /lib64/libgcc_s.so.1

有人可以告诉我如何找到我需要安装的软件包来修复失败的依赖项吗?

谢谢

1 个答案:

答案 0 :(得分:4)

安装Tivoli Storage Manager备份 - 归档时 在64位RHEL 6系统上的客户端和API,您可能会遇到
如下错误:

error: Failed dependencies:
   libstdc++.so.6 is needed by TIVsm-API...

在Red Hat Enterprise Linux 5中,如果两个包都可用 主要和兼容性架构,两种架构 包装默认安装。
在Red Hat Enterprise Linux 6中,只有主要的包 架构默认安装。
在备份 - 归档客户端和API安装期间避免出现问题 在64位机器上,一定要安装libstdc ++和 compat-libstdc ++
32位包也是如此。

root# yum list "compat-libstdc*"

记下列出的数据包并安装。

root# yum install "compat-libstdc++-33.i686" "compat-libstdc++-33.x86_64"

祝你好运!

Marco Lucena
累西腓 - 伯南布哥 - 巴西