почему процедура установки gtk + такая сложная?

Я пытаюсь установить gtk + (3.20.3) на ubuntu 14.04. Я загрузил пакет gtk + и выполнил команду configure. я получил

Requested 'atk >= 2.15.1' but version of Atk is 2.10.0

Requested 'pango >= 1.37.3' but version of Pango is 1.36.3

Requested 'cairo >= 1.14.0' but version of cairo is 1.13.1

Requested 'cairo-gobject >= 1.14.0' but version of cairo-gobject is 1.13.1

Я также получил указанную выше ошибку несоответствия версии для glib, которую я установил, и после установки некоторых других необходимых условий.

Теперь я рекурсивно застрял в установке каждого из вышеперечисленных, каждый спрашивает что-то еще. Для ATK я получаю некоторую ошибку вроде "../atk/.libs/libatk-1.0.so: undefined ссылка на` g_type_check_instance_is_fundamentally_a '", которую я должен попытаться решить.

Вопрос: почему это так сложно? Я делаю что-то неправильно? Нет ли такого шага, как «apt-get install gtk» или что-то в этом роде. Я потратил более 2 часов и так и не подошел к завершению.

Я просто хотел установить gtk +, так как мне нужен был простой пользовательский интерфейс для определенной программы C. Я не понимал, что установка будет такой сложной.


person user132797    schedule 05.05.2016    source источник
comment
Используйте jhbuild. Это упростит всю эту ерунду о зависимостях и установит GTK + в частном пространстве имен, чтобы он не мешал остальной части вашей системы.   -  person andlabs    schedule 05.05.2016


Ответы (2)


Процедура сборки GTK + из исходников не сложнее, чем процедура сборки других проектов. GTK + имеет различные зависимости, вместо того, чтобы объединять все в свои собственные репозитории; это означает, что вам необходимо проверить список зависимостей (указанный в файле configure.ac) и установить или построить их.

Если вы хотите настроить среду разработки, рекомендуется использовать jhbuild, который похож на virtualenv для Python. Команда jhbuild знает все зависимости, необходимые для создания различных проектов на платформе GNOME, включая GTK +, и будет загружать, создавать и устанавливать эти зависимости в отдельном префиксе, что позволяет вам также создавать свой собственный код с этим префиксом.

Вы можете быстро начать работу с jhbuild, прочитав руководство для новичков GNOME.

person ebassi    schedule 05.05.2016
comment
Мне нужно было использовать библиотеку GTK + для создания пользовательского интерфейса в приложении C. Я пошел путем загрузки кода и сборки GTK + и попал в цикл. Теперь у меня есть env, в котором у меня загружена и построена большая часть кода GTK +, но не часть pango (неспособная разрешить там зависимости). Я попробую jhbuild. Я также попытался установить библиотеки libgtk-2-dev, а затем и libgtk-3-dev. Я думаю, что у меня сейчас довольно запутанная среда, поскольку некоторые примеры программ, которые я получил с GTK +, предоставляют некоторые функции как неразрешенные. Принимая этот ответ как «почему это сложно?» ответили :-) - person user132797; 13.05.2016
comment
В ссылке для новичков есть опечатка. Это должно быть wiki.gnome.org/Newcomers. В ссылке отсутствует буква "r" - person user132797; 15.05.2016

@ebassi верен, если вам нужна более новая версия GTK + или вы хотите разработать сам GTK +. Если все, что вы хотите, это написать приложение GTK и не разборчивы в выборе версии, ознакомьтесь с пакетом Ubuntu libgtk-3-dev.

person Blake    schedule 05.05.2016
comment
Мой env немного запутался, как упоминалось в моем комментарии к @ebassi. Я думаю, ваше предложение здесь должно помочь мне создать мой код C. Спасибо. - person user132797; 13.05.2016
comment
К сожалению, полный ад документации для GTK заставляет читать исходный код, выполнять пошаговую отладку и добавлять printf в основные библиотеки, чтобы понять, что происходит, и поэтому каждому, кто серьезно занимается GTK, рано или поздно понадобятся его / ее собственные библиотеки. И было бы лучше, если бы файлы C можно было добавить в вашу среду IDE, чтобы получить полный просмотр исходного кода, но без перехода на cmake на данный момент это невозможно. - person Lothar; 02.08.2018