Как yum проверяет необходимую библиотеку при установке (проблема с зависимостями) - PullRequest
0 голосов
/ 17 декабря 2018

У меня проблема с сборкой RPM с помощью rpmbuild.

Я использовал SRPM для сборки пользовательской версии PHP, но при попытке установить этот RPM yum выдает следующую ошибку на других серверахчем сервер, скомпилированный на:

--> Finished Dependency Resolution
Error: Package: php70-cli-7.0.33-1.el6.x86_64 (local)
           Requires: libiconv.so.2()(64bit)
Error: Package: php70-common-7.0.33-1.el6.x86_64 (local)
           Requires: libiconv.so.2()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

Сервер сборки:

[root@server rpmbuild]# file /usr/local/lib/libiconv.so.2
/usr/local/lib/libiconv.so.2: symbolic link to `libiconv.so.2.6.0'

Установить сервер:

[root@otherserver ~]# file /usr/local/lib/libiconv.so.2
/usr/local/lib/libiconv.so.2: symbolic link to `libiconv.so.2.6.0'

Может кто-нибудь объяснить мне, почему yum не может найтиЭто?Или подтолкнуть меня в правильном направлении?

Спасибо

1 Ответ

0 голосов
/ 21 декабря 2018

Если его нет в базе данных RPM, то, что касается rpm и yum, этого не произойдет.Поскольку /usr/local/lib/libiconv.so.2 находится в /usr/local, а Fedora прямо говорит, что не следует помещать туда , я предполагаю, что он не был установлен RPM.

Один способ проверитьbe rpm -q --whatprovides /usr/local/lib/libiconv.so.2 - я предполагаю, что он скажет, что он не предоставляется ни одним пакетом.

Вам нужно установить RPM, который предоставляет его (быстрый поиск показывает зеркало здесь ) на обе сборки и целевые машины.Затем пересоберите RPM (поднимая номер выпуска!).

...