Почему этот RPM-пакет «не поддается установке»?

Почему этот RPM-пакет «не поддается установке»?

Иногда, когда я прошу Zypper что-то установить, я получаю сообщение, похожее на это:

Problem: foo-tools requires foo-lib, but this requirement cannot be provided

Problem: foo-tools requires foo-lib, but this requirement cannot be provided
  uninstallable providers: foo-lib.7.31.13.x86_64
Solution 1: do not install foo-tools
Solution 2: break foo-tools by ignoring some of its dependencies

Какого черта Zypper думает, что RPM, который я ему намеренно дал именно по этой причине, является "неустанавливаемым поставщиком"? Что означает это сообщениеиметь в виду? Файл RPM не читается? Неправильная архитектура? Неправильная версия?Что его расстроило?

решение1

Оказывается, у foo-libнего самого были неудовлетворенные зависимости. Добавление их решило проблему.

Но вот в чем вопрос... почему Зиппер не...сказатьв чем была проблема? Обычно, если возникает проблема с зависимостью, она сообщает вам о конкретном пакете, который не удалось найти. Почему я получил это непрозрачное сообщение "неустановимый поставщик"?

решение2

RPM хранит базу данных установленных файлов (например, двоичных исполняемых файлов и общих библиотек) в системе.

Некоторое программное обеспечение, например foo-tools, нуждается в другом программном обеспечении (например, foo-lib) для правильной работы. Эта информация о зависимостях определяется упаковщиком RPM.

Если у вас есть foo-lib и foo-tools, доступные в виде файлов RPM, но ни один из них не установлен, вы можете предоставить их оба (все) в командной строке RPM (или эквивалентным способом zypper), чтобы RPM увидел, что все зависимости будут удовлетворены. Другой вариант — сначала установить необходимые пакеты.

Если foo-lib в свою очередь имеет свои собственные зависимости, они также должны быть удовлетворены. Если нет, foo-lib не является устанавливаемым поставщиком foo-lib.

Не рекомендуется: убедитесь, что предварительные условия выполнены другими способами (установите необходимые компоненты вручную, возможно, из исходного кода, и заставьте Zypper игнорировать зависимости). Это приведет к проблемам в дальнейшем, поэтому не делайте этого.

Связанный контент