Build Banshee: отсутствуют зависимости

Я пытаюсь построить банши из источника. Я побежал autogen.sh и вот (некоторые из) вывод:

configure: error: Package requirements (gstreamer-0.10 >= 0.10.26
    gstreamer-base-0.10 >= 0.10.26
    gstreamer-plugins-base-0.10 >= 0.10.26
    gstreamer-controller-0.10 >= 0.10.26
    gstreamer-dataprotocol-0.10 >= 0.10.26
    gstreamer-fft-0.10 >= 0.10.26) were not met:

No package 'gstreamer-0.10' found
No package 'gstreamer-base-0.10' found
No package 'gstreamer-plugins-base-0.10' found
No package 'gstreamer-controller-0.10' found
No package 'gstreamer-dataprotocol-0.10' found
No package 'gstreamer-fft-0.10' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables GST_CFLAGS
and GST_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
Error: Could not run ./configure, which is required to configure banshee

Я уже побежал sudo apt-get build-dep banshee, поэтому я понятия не имею, как решить эту проблему.

2 ответа

Решение

Существуют различные типы зависимостей, зависимости времени сборки и зависимости времени выполнения. Вам часто понадобится больше зависимостей для создания программы, чем для ее запуска. Например, для запуска программы может потребоваться общая библиотека. Однако для сборки программы также может потребоваться файл заголовка. Когда вы устанавливали banshee, вы обычно устанавливали все зависимости времени выполнения вместе с ним, но не зависимости времени сборки. Поскольку вы используете apt-get, вы должны выяснить, какие пакеты вам нужно установить, чтобы получить необходимые зависимости сборки.

Сообщение об ошибке, которое вы получили от программы pkg-config. Обычно он используется для отслеживания зависимостей сборки. Некоторые библиотеки могут, например, требовать разные флаги компилятора в разных системах, поэтому в pkg-config есть каталог библиотек, который знает, как его использовать. Здесь система сборки Banshee вызывает pkg-config, чтобы найти правильные флаги для использования библиотек gstreamer, но поскольку файлы разработки для gstreamer не установлены, pkg-config не будет знать, как их использовать. После установки файлов разработки для пакета, использующего pkg-config, флаги можно запросить, например, запустив pkg-config pkg-config --cflags --libs gstreamer-0.10 возвращает флаги препроцессора, компилятора и ссылки для библиотеки gstreamer-0.10.

Файлы, которые использует pkg-config, обычно называются name-of-library.pc, Используйте менеджер пакетов для поиска файлов, таких как gstreamer-0.10.pc, gstreamer-base-0.10.pc и так далее для всех пакетов, которые pkg-config не может найти. Системы, использующие apt-get, обычно имеют инструмент (хотя и не обязательно установленный по умолчанию), называемый apt-file, который можно использовать для запроса менеджера пакетов, например, об имени пакетов, предоставляющих конкретный файл. apt-file search gstreamer-0.10.pc, Во многих дистрибутивах, таких как Debian или Ubuntu, также есть веб-интерфейсы, которые поддерживают поиск пакетов по именам файлов.

Иногда вы можете установить необходимые зависимости сборки, запустив apt-get build-dep name-of-package, Он установит пакеты, необходимые для сборки программы. Однако это установит требования для сборки версии пакета, которую распространяет ваш менеджер пакетов. Версия, которую вы создаете, может иметь разные зависимости, но если требования одинаковы, то это обычно дает вам то, что вам нужно.

Очевидно, ответ Маркуса потрясающий, но если вы хотите перейти к сути, ответ: sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev

Я обновлю веб-сайт Banshee прямо сейчас: готово.

Другие вопросы по тегам