Вопрос или проблема
Я загрузил пакет, который хотел установить, но во время установки система выдала ошибку: неудовлетворительная зависимость: libffi7
. Я полагаю, это связано с тем, что у меня версия Linux нового поколения, где libffi7
больше не поддерживается.
Как я могу решить эту проблему? Что мне делать, чтобы установить пакет, который требует libffi7
, или есть ли возможность использовать более новую версию libffi
вместо этого, если это возможно?
Я пытаюсь решить это так: sudo apt-get install -f
, но это не срабатывает!
Когда я пытаюсь ввести команду sudo dpkg -i SceneBuilder-23.0.1.deb
через терминал, я получаю следующее:
Выбор ранее не выбранного пакета scenebuilder.
(Чтение базы данных ... 738809 файлов и директорий в настоящее время установлено.)
Подготовка к распаковке SceneBuilder-23.0.1.deb ...
Распаковка scenebuilder (23.0.1) ...
dpkg: проблемы с зависимостями мешают конфигурации scenebuilder:
scenebuilder зависит от libffi7; однако:
Пакет libffi7 не установлен.
scenebuilder зависит от libgdk-pixbuf2.0-0; однако:
Пакет libgdk-pixbuf2.0-0 не установлен.
scenebuilder зависит от libpcre3; однако:
Пакет libpcre3 не установлен.
dpkg: ошибка при обработке пакета scenebuilder (--install):
проблемы с зависимостями - оставлено неконфигурированным
При обработке возникли ошибки:
scenebuilder
Я также попробовал sudo apt install ./SceneBuilder-23.0.1.deb
и получил:
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
Обратите внимание, что выбран 'scenebuilder' вместо './SceneBuilder-23.0.1.deb'
Некоторые пакеты не могут быть установлены. Это может означать, что вы
запросили невозможную ситуацию или, если вы используете нестабильное
распределение, что некоторые необходимые пакеты еще не были созданы
или были перемещены из Incoming.
Следующая информация может помочь решить ситуацию:
Следующие пакеты имеют неудовлетворенные зависимости:
scenebuilder : Зависит от: libffi7, но он не может быть установлен
E: Невозможно исправить проблемы, вы удерживаете сломанные пакеты.
Необходимо устанавливать пакеты с помощью apt-get install
, чтобы они подтягивали свои зависимости; dpkg -i
полезен только в том случае, если вы уже установили все зависимости. В качестве конечного пользователя вам вообще не следует запускать dpkg
самостоятельно.
Таким образом, в вашем случае sudo apt-get install ./SceneBuilder-23.0.1.deb
. Если это не сработает из-за отсутствующих зависимостей, программное обеспечение, которое вы пытаетесь установить из файла .deb, просто несовместимо с вашей операционной системой.
Или есть ли возможность использовать более новую версию libffi вместо этого, если это возможно?
Здесь конкретно, кажется, что scenebuilder нужно перекомпилировать под пакет libffi8.
Ответ или решение
Решение проблемы с установкой пакета SceneBuilder с зависимостью от libffi7 на Linux
Если вы столкнулись с ошибкой при установке .deb пакета SceneBuilder, указывающей на неразрешимую зависимость libffi7
, это означает, что ваша версия Linux больше не поддерживает необходимую библиотеку. Давайте рассмотрим, как это можно обойти.
Причина проблемы
При попытке установить пакет с помощью команды dpkg -i SceneBuilder-23.0.1.deb
, система сообщает, что libffi7
не установлена, а также другие зависимости: libgdk-pixbuf2.0-0
и libpcre3
. Это говорит о том, что SceneBuilder требует определенные версии библиотек, которые могут не поддерживаться в вашей текущей версии ОС.
Шаги для решения проблемы
-
Проверка зависимостей: Попробуйте выполнить команду для установки пакета с автоматическим разрешением зависимостей:
sudo apt-get install ./SceneBuilder-23.0.1.deb
Однако, если вы получили ошибку о невозможности установить
libffi7
, это указывает на то, что пакет несовместим с вашей системой. -
Использование более новых версий библиотек: Если вы хотите попробовать использовать более новую версию
libffi
, необходимо:- Проверить, установлена ли у вас библиотека
libffi8
, которая может быть несовместима сlibffi7
. Если да, попробуйте найти версию пакета SceneBuilder, скомпилированную для использования сlibffi8
. - Использовать репозитории, предлагающие более свежие версии программ. Поищите альтернативные источники пакета, которые указаны как совместимые с вашей версией ОС.
- Проверить, установлена ли у вас библиотека
-
Установка зависимостей вручную: Если предыдущие шаги не принесли результатов, вы можете попробовать установить необходимые библиотеки вручную. Для этого выполните следующие команды:
sudo apt-get update sudo apt-get install libgdk-pixbuf2.0-0 libpcre3
Однако, если
libffi7
фактически отсутствует в репозиториях, это может не помочь. -
Проверка совместимости с вашей версией ОС: Убедитесь, что вы используете совместимую версию SceneBuilder для вашей операционной системы. Возможно, будет актуально скачать более раннюю версию, которая работает с
libffi7
. -
Изучение возможности сборки из исходников: Если вы знакомы с процессом компиляции, можете попытаться получить исходный код SceneBuilder и собрать его с использованием более новой версии
libffi
. Это требует дополнительной настройки и зависит от наличия всех необходимых зависимостей. -
Обращение к разработчикам или сообществу: Если ни один из вышеперечисленных вариантов не работает, стоит рассмотреть возможность обращения в официальное сообщество поддержки SceneBuilder для получения помощи.
Заключение
Ошибка dependency is not satisfiable: libffi7
связана с несовместимостью пакета и библиотек с вашей системой. Лучший подход — это использование команды apt-get install
для устранения зависимостей, а также нахождение версии пакета, совместимой с вашей системой. Если все еще есть проблемы, настройка сборки из исходников или обращение к сообществу может быть решением.
Таким образом, вы сможете эффективно управлять зависимостями и избежать подобных проблем в будущем.