CentOS поставляется с libxml2-2.6.26. Мне нужно установить версию не ниже 2.7.X.
Я загрузил RPM для libxml2, libxml2-devel и libxml2-python (2.7.8) из XMLSOFT (http://xmlsoft.org/sources/).
Я пытаюсь установить это так:
# yum localinstall libxml2-2.7.8-1.x86_64.rpm libxml2-devel-2.7.8-1.x86_64.rpm libxml2-python-2.7.8-1.x86_64.rpm
и я получаю:
Examining libxml2-devel-2.7.8-1.x86_64.rpm: libxml2-devel-2.7.8-1.x86_64
Marking libxml2-devel-2.7.8-1.x86_64.rpm as an update to libxml2-devel-2.6.26-2.1.2.8.el5_5.1.x86_64
Examining libxml2-python-2.7.8-1.x86_64.rpm: libxml2-python-2.7.8-1.x86_64
Marking libxml2-python-2.7.8-1.x86_64.rpm as an update to libxml2-python-2.6.26-2.1.2.8.el5_5.1.x86_64
Resolving Dependencies
--> Running transaction check
---> Package libxml2.x86_64 0:2.7.8-1 set to be updated
--> Processing Dependency: libc.so.6(GLIBC_2.7)(64bit) for package: libxml2
---> Package libxml2-devel.x86_64 0:2.7.8-1 set to be updated
---> Package libxml2-python.x86_64 0:2.7.8-1 set to be updated
--> Processing Dependency: python(abi) = 2.6 for package: libxml2-python
--> Processing Dependency: libpython2.6.so.1.0()(64bit) for package: libxml2-python
--> Running transaction check
---> Package libxml2.x86_64 0:2.7.8-1 set to be updated
--> Processing Dependency: libc.so.6(GLIBC_2.7)(64bit) for package: libxml2
---> Package python26.x86_64 0:2.6.5-6.el5 set to be updated
---> Package python26-libs.x86_64 0:2.6.5-6.el5 set to be updated
--> Finished Dependency Resolution
libxml2-2.7.8-1.x86_64 from /libxml2-2.7.8-1.x86_64 has depsolving problems
--> Missing Dependency: libc.so.6(GLIBC_2.7)(64bit) is needed by package libxml2-2.7.8-1.x86_64 (/libxml2-2.7.8-1.x86_64)
Error: Missing Dependency: libc.so.6(GLIBC_2.7)(64bit) is needed by package libxml2-2.7.8-1.x86_64 (/libxml2-2.7.8-1.x86_64)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.
Безопасно ли также обновлять glibc? Или установить libxml2 из исходников?
Убедитесь, что у вас установлены инструменты разработки:
yum groupinstall "Development Tools"
Возьмите src rpm:
wget http://xmlsoft.org/sources/libxml2-2.7.8-1.src.rpm
вы не сможете вызвать rpmbuild напрямую из-за различий в версиях rpm, поэтому позвольте коротко замкнуть это:
rpm -ivh libxml2-2.7.8-1.src.rpm --nomd5
затем:
rpmbuild -ba /usr/src/redhat/SPECS/libxml2.spec
вам может быть предложено указать некоторые зависимости на этом этапе (если да, просто yum install
рассматриваемые зависимости, затем перезапустите rpmbuild -ba
команда выше).
Предполагая, что ваша сборка завершится успешно (я только что протестировал это на коробке CentOS 5, и она собрана нормально), результирующие RPM будут в:
/usr/src/redhat/RPMS/arch
где «арка» - x86_64 или i386, в зависимости от вашей системы. Ты можешь yum localinstall --nogpgcheck
пакеты оттуда.
Возьмите SRPM и перестройте его, используя mock.