Как установить более новую версию GTK в Ubuntu без замены текущей?
Я пытаюсь скомпилировать файл-ролик из git, но запуск autogen.sh выдает мне эту ошибку
configure: error: Package requirements (gtk+-3.0 >= 2.91.1) were not met:
No package 'gtk+-3.0' 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 GTK_CFLAGS
and GTK_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
Я использую Ubuntu Maverick и не хочу полностью заменять мою текущую версию gtk, glib и т. Д.
Я попытался скомпилировать GTK, используя аргумент --prefix файла autogen.sh, но это дает мне похожую ошибку в моей версии glib.
Как я могу успешно скомпилировать файл-ролик, используя эти новые библиотеки, не прерывая мою установку?
1 ответ
У вас есть, как правило, два варианта:
Скажите каждый новый пакет программного обеспечения, который нуждается
gtk
, во время настройки, где искать нужные библиотеки, илиУстановите новый GTK бок о бок в системном расположении, которое находится в
LD_LIBRARY_PATH
,
Первый вариант прост и безопасен, если вы хотите собрать (включая компиляцию) всего несколько программ, которые зависят от нового Gtk. Существуют различные способы указания программного обеспечения в определенном месте библиотеки, в зависимости от используемого инструмента конфигурации. Для классических приложений с configure
сценария, вам нужно взглянуть на параметры настройки фазы, используя ./configure --help
, Искать такие вещи, как --gtk-lib=PATH
или же --with-gtk-path=PATH
, --with
часть (общая для многих опций) обычно упоминается только один раз в начале справки.
Однако упомянутый вами File-ролик, похоже, использует autogen
программа для автоматической процедуры настройки. Вставленный фрагмент указывает, какие переменные среды вам нужно установить, чтобы они указывали на конкретный путь GTK+. Похоже на бег GTK_LIBS=/full/path/to/your/custom/lib ./autogen.sh
должно быть достаточно.
Общесистемный сценарий немного сложнее, потому что каждый дистрибутив Linux может управлять путями библиотек по-своему, поэтому я не могу дать вам универсальное решение.