3

我正在 Fedora 8/9 64 位 ( http://mediainfo.sourceforge.net/es/Download/Fedora )上安装最新版本的 MediainfoDLL 。我下载了 libmediainfo-0.7.20 和 libzen0-0.4.3 文件。

当我尝试安装 libzen0 时,我得到以下输出:

# rpm -i libzen0-0.4.3-1.x86_64.Fedora_9.rpm
warning: libzen0-0.4.3-1.x86_64.Fedora_9.rpm: Header V3 DSA signature: NOKEY, key ID dfb2ef23
error: Failed dependencies:
        libstdc++.so.6(GLIBCXX_3.4.9)(64bit) is needed by libzen0-0.4.3-3.1.x86_64

但是问题是我已经安装了4.1.2版本的libstdc++:

# yum list libstdc++
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * updates-newkey: kdeforge.unl.edu
 * fedora: kdeforge.unl.edu
 * updates: kdeforge.unl.edu
Installed Packages
libstdc++.i386                                                                4.1.2-33                                                               installed
libstdc++.x86_64                                                              4.1.2-33                                                               installed

我怎么解决这个问题?

编辑:

# rpm -q --provides libstdc++
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(CXXABI_1.3.1)(64bit)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.1)(64bit)
libstdc++.so.6(GLIBCXX_3.4.2)(64bit)
libstdc++.so.6(GLIBCXX_3.4.3)(64bit)
libstdc++.so.6(GLIBCXX_3.4.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.5)(64bit)
libstdc++.so.6(GLIBCXX_3.4.6)(64bit)
libstdc++.so.6(GLIBCXX_3.4.7)(64bit)
libstdc++.so.6(GLIBCXX_3.4.8)(64bit)
libstdc++ = 4.1.2-33
libstdc++.so.6
libstdc++.so.6(CXXABI_1.3)
libstdc++.so.6(CXXABI_1.3.1)
libstdc++.so.6(GLIBCXX_3.4)
libstdc++.so.6(GLIBCXX_3.4.1)
libstdc++.so.6(GLIBCXX_3.4.2)
libstdc++.so.6(GLIBCXX_3.4.3)
libstdc++.so.6(GLIBCXX_3.4.4)
libstdc++.so.6(GLIBCXX_3.4.5)
libstdc++.so.6(GLIBCXX_3.4.6)
libstdc++.so.6(GLIBCXX_3.4.7)
libstdc++.so.6(GLIBCXX_3.4.8)
libstdc++ = 4.1.2-33
4

2 回答 2

3

有趣的是,我看到了几乎相同的输出rpm -q --provides libstdc++。我怀疑您使用的libzen0 RPM 是针对 libstdc++ 版本编译的,该版本实际上并未在您的操作系统上提供。

您是否为您的操作系统安装了正确版本的libzen0?如果是这样的话; 尝试为类似的操作系统安装 RPM - 例如 RHEL 5.3 的 libzen0?

于 2009-08-05T21:40:19.533 回答
1

虽然我没有使用 64 位系统的经验,但它看起来像是 rpm 的问题:在我的系统(Fedora 8)上,我得到以下信息:

$ rpm -q --provides libstdc++
libstdc++.so.6
libstdc++.so.6(CXXABI_1.3)
libstdc++.so.6(CXXABI_1.3.1)
libstdc++.so.6(GLIBCXX_3.4)
libstdc++.so.6(GLIBCXX_3.4.1)
libstdc++.so.6(GLIBCXX_3.4.2)
libstdc++.so.6(GLIBCXX_3.4.3)
libstdc++.so.6(GLIBCXX_3.4.4)
libstdc++.so.6(GLIBCXX_3.4.5)
libstdc++.so.6(GLIBCXX_3.4.6)
libstdc++.so.6(GLIBCXX_3.4.7)
libstdc++.so.6(GLIBCXX_3.4.8)
libstdc++ = 4.1.2-33

因此,如果您的 libstdc++GLIBCXX_3.4.9不像我的那样提供,我会认为 rpm 已损坏。一种解决方案是创建一个需要 libstdc++ 并提供的假 rpm GLIBCXX_3.4.9,尽管正确的解决方案是修复 rpm 本身。

于 2009-08-05T20:54:20.267 回答