У меня есть сервер redhat, который неправильно разрешает зависимости.
Я хочу установить httpd через yum «yum install httpd», и он устанавливается правильно, но когда я запускаю httpd, я получаю следующую ошибку:
Stopping httpd: [FAILED]
Starting httpd: /usr/sbin/httpd: error while loading shared libraries: libaprutil-1.so.0: cannot open shared object file: No such file or directory
[FAILED]
Отсутствует зависимость для пакета apr-util.
Как ни странно, установлен пакет i386, а не пакет x86_64. Может ли кто-нибудь пролить свет на то, почему зависимости не могут быть разрешены правильно?
ldd /usr/sbin/httpd
libm.so.6 => /lib64/libm.so.6 (0x00002b02370db000)
libpcre.so.0 => /lib64/libpcre.so.0 (0x00002b023735e000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00002b023757a000)
libaprutil-1.so.0 => not found
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002b0237793000)
libldap-2.3.so.0 => /usr/lib64/libldap-2.3.so.0 (0x00002b02379cb000)
liblber-2.3.so.0 => /usr/lib64/liblber-2.3.so.0 (0x00002b0237c06000)
libdb-4.3.so => /lib64/libdb-4.3.so (0x00002b0237e14000)
libexpat.so.0 => /lib64/libexpat.so.0 (0x00002b0238109000)
libapr-1.so.0 => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b023832c000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002b0238547000)
libc.so.6 => /lib64/libc.so.6 (0x00002b023874c000)
libsepol.so.1 => /lib64/libsepol.so.1 (0x00002b0238aa3000)
/lib64/ld-linux-x86-64.so.2 (0x00002b0236ebe000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00002b0238ce9000)
libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x00002b0238eff000)
libssl.so.6 => /lib64/libssl.so.6 (0x00002b0239118000)
libcrypto.so.6 => /lib64/libcrypto.so.6 (0x00002b0239364000)
libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00002b02396b6000)
libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00002b02398e4000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00002b0239b79000)
libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00002b0239d7c000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00002b0239fa1000)
libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00002b023a1b5000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00002b023a3be000)
но это пакет i386
apr-util-1.2.7-11.el5.i386 : Apache Portable Runtime Utility library
Repo : installed
Matched from:
Filename : /usr/lib/libaprutil-1.so.0
ОБНОВЛЕНИЕ: просто для обновления, я также размещаю свое собственное репо на сервере cobbler, но оно было создано правильно, и я не уверен, что это вызовет какие-либо проблемы с решением деп?
UPDATE2: я изменил уровень отладки на 10, чтобы увидеть, что я получаю через yum, вот результат.
Я почти уверен, что должна быть запись, кроме none, но не уверен, что это должно быть ...
Resolving Dependencies
Running "preresolve" handler for "security" plugin
--> Running transaction check
---> Package httpd.x86_64 0:2.2.3-31.el5 set to be updated
Checking deps for httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('initscripts', 'GE', ('0', '8.36', None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libc.so.6(GLIBC_2.2.5)(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libpthread.so.0(GLIBC_2.2.5)(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('rtld(GNU_HASH)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('/etc/mime.types', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('/bin/bash', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('/bin/sh', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('textutils', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libm.so.6(GLIBC_2.2.5)(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('/sbin/chkconfig', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('/bin/rm', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('/bin/sh', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('/bin/mv', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('/usr/share/magic.mime', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('/usr/sbin/useradd', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('/usr/bin/find', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libcrypt.so.1(GLIBC_2.2.5)(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('sh-utils', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libc.so.6(GLIBC_2.3.4)(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libc.so.6(GLIBC_2.4)(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('gawk', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libc.so.6(GLIBC_2.3)(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('/bin/mktemp', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libc.so.6()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libpcre.so.0()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libdb-4.3.so()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libcrypto.so.6()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libexpat.so.0()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libselinux.so.1()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libm.so.6()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libssl.so.6()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('liblber-2.3.so.0()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libdl.so.2()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libaprutil-1.so.0()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libz.so.1()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libcrypt.so.1()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libapr-1.so.0()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libpthread.so.0()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
looking for ('libldap-2.3.so.0()(64bit)', None, (None, None, None)) as a requirement of httpd.x86_64 0-2.2.3-31.el5 - u
--> Finished Dependency Resolution
Dependency Process ending
Depsolve time: 0.811
Я отследил эту проблему до другого пакета, рекламирующего, что он может устранить зависимость для libapr. Поэтому, когда http сказал, что ему нужен libapr, этот плохо написанный пакет сказал, что он может удовлетворить потребность в библиотеке, поэтому был установлен вместо правильного пакета redhat libapr. Я организовал для того, чтобы разработчик бил
Я не уверен, почему вы не можете получить правильные зависимости (не зная точную версию RHEL, трудно дважды проверить информацию). Есть несколько случаев, когда вам может понадобиться установить обе версии одного и того же пакета i386 и x86_64. Также возможно столкнуться с причудами или ошибками (хотя я видел это относительно редко), когда пакеты, специфичные для архитектуры, портят зависимости.
У вас должна быть возможность установить версию x86_64 с помощью yum install apr-util-1.2.7-11.el5.x86_64
.