Требуется GLIBCXX_3.4.9, если я уже установил GLIBCXX_4.1.2? - PullRequest
3 голосов
/ 06 августа 2009

Я устанавливаю последнюю версию MediainfoDLL на Fedora 8/9 64 бит (http://mediainfo.sourceforge.net/es/Download/Fedora). Я скачал файлы 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

Но проблема в том, что я уже установил версию libstdc ++ 4.1.2:

# 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

Как я могу решить эту проблему?

Edit:

# 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

Ответы [ 2 ]

3 голосов
/ 06 августа 2009

Интересно, что я вижу практически идентичный вывод из rpm -q --provides libstdc++. Я подозреваю, что libzen0 RPM, который вы используете, скомпилирован с версией libstdc ++, которая фактически не поставляется в вашей ОС.

Вы устанавливаете правильную версию libzen0 для своей ОС? Если так; попробуйте установить RPM для аналогичной ОС - например, libzen0 для RHEL 5.3?

1 голос
/ 06 августа 2009

Хотя у меня нет опыта работы с 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 неработающим. Одним из решений было бы создание поддельного rpm, который требует libstdc ++ и предоставляет GLIBCXX_3.4.9, хотя правильным решением было бы исправить саму rpm.

...