Установка GTK+ (Ошибки при установке GTK+)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
Gosha
Сообщения: 25

Установка GTK+

Сообщение Gosha »

Пытаюсь установить gtk+, после попытки конфигурации выдает ошибку:

configure: error: Library requirements (glib-2.0 >= 2.4.0 atk >= 1.0.1 pango >= 1.4.0) not met; consider adjusting thePKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.

Проверяю наличие atk:

[pto@169 gtk+-2.4.0]$ rpm -qa | grep atk
libatk1.0_0-1.9.1-1mdk
atk-1.9.1-4

т.е. получается пакет atk стоит, версия выше, в чем загвоздка?
Mandriva Linux 2007.0
Спасибо сказали:
Аватара пользователя
SANTA
Сообщения: 181
ОС: GNU/Linux

Re: Установка GTK+

Сообщение SANTA »

--Library requirements (glib-2.0 >= 2.4.0 atk >= 1.0.1 pango >= 1.4.0--
А glib и pango какой версии?
Спасибо сказали:
wieker
Сообщения: 15

Re: Установка GTK+

Сообщение wieker »

Ответа 3:

Во-первых: А зачем из исходников GTK+ ставить? Качай rpm

Во-вторых: у тебя не установлены devel пакеты, без них ничего не скомпилировать. Нужен кроме atk, glib, pango atk-devel, glib-devel этих же версий.

В третьих, если ты ставил уже atk ... из сырцов, то тебе просто необходимо PKG_CONFIG_PATH прописать путь к pc файлам: это libdir/pkgconfig, где либдир = prefix/lib, а префикс - то место, куда ты устанавливал. Непонятное я что-то написал, ну да может ты до третьего шага не дойдешь :) Все и так решится.

Вообще, чтобы точно ответить, пиши всё, что ты делал.

Я смотрю у тебя два пакета с atk стоят: зачем? Ставил все подряд что-ли?
Спасибо сказали:
Аватара пользователя
mark
Бывший модератор
Сообщения: 2055
Статус: ...
ОС: Windows 7

Re: Установка GTK+

Сообщение mark »

А какой дистр?
Спасибо сказали:
Аватара пользователя
Bolverk
Бывший модератор
Сообщения: 1571
ОС: Cygwin

Re: Установка GTK+

Сообщение Bolverk »

Не надо в рпм-ный дистрибутив запихивать GTK+ из исходников. Ничего хорошего из этого не получится.
Спасибо сказали:
Аватара пользователя
Gosha
Сообщения: 25

Re: Установка GTK+

Сообщение Gosha »

SANTA писал(а):
08.12.2005 18:12
--Library requirements (glib-2.0 >= 2.4.0 atk >= 1.0.1 pango >= 1.4.0--
А glib и pango какой версии?

glib-2.4.0 а pango пока еще не ставил
Mandriva Linux 2007.0
Спасибо сказали:
Аватара пользователя
Gosha
Сообщения: 25

Re: Установка GTK+

Сообщение Gosha »

Давайте начнем по порядку:
checking for glib-2.0 >= 2.4.0
Почему у меня стоит glib-2.4.0, а откуда тогда glib-2.0?
Видно где-то прописаны версии
Mandriva Linux 2007.0
Спасибо сказали:
wieker
Сообщения: 15

Re: Установка GTK+

Сообщение wieker »

>Почему у меня стоит glib-2.4.0, а откуда тогда glib-2.0?

./configure проверяет версию GLib, установленную у тебя на компьютере. Glib 2.0 - просто обозначение для 2.x.

Ты по человечески оветить можешь: что ты ставил уже из сырцов, что выдаёт:

rpm -qa | grep atk
rpm -qa | grep pango

rpm -qa | grep glib

Провожу ликбез:
!) при установки из исходников устанавливается __ВСЁ ЧТО ЕСТЬ В ПАКЕТЕ__ (ну, иногда ещё бывает make install_docs и прочее - но это исключение).

2) при создании rpm пакетов, для удобства пользователя в него включается НЕ ВСЁ, что устанавливается из исходников. В том числе, не включаются файлы, необходимые для сборки программ, зависящих от этого пакета из сырцов.

3) эта недостающая часть включается в пакет <packet_name>-devel

То есть возможно 3 варианта: ты забьёшь на исходники и установишь всё как нормально из rpm (Кстати, а зачем ты собираешь из исходников, мне интересно?), либо ты докачаешь нужные devel пакеты, которых у тебя нет, либо, если ты уже напихал в систему собственноручно собранные библиотеки, тебе нужно прописать правильный к ним путь:
consider adjusting thePKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them. - по английски понимаешь?
Спасибо сказали:
Аватара пользователя
Gosha
Сообщения: 25

Re: Установка GTK+

Сообщение Gosha »

wieker писал(а):
09.12.2005 14:00
>./configure проверяет версию GLib, установленную у тебя на компьютере. Glib 2.0 - просто обозначение для 2.x.

>Ты по человечески оветить можешь: что ты ставил уже из сырцов, что выдаёт:

>rpm -qa | grep atk
>rpm -qa | grep pango

>rpm -qa | grep glib

[b][b][pto@169 ~]$ rpm -qa | grep atk
libatk1.0_0-1.9.1-1mdk
atk-1.9.1-4
[pto@169 ~]$ rpm -qa | grep pango
libpango1.0_0-modules-1.8.1-1mdk
pango-1.8.1-1mdk
libpango1.0_0-1.8.1-1mdk
[pto@169 ~]$ rpm -qa | grep glib
glib2-devel-2.4.0-9
glibc-2.3.4-8mdk
glibc-i18ndata-2.3.4-8mdk
libglib2.0_0-devel-2.6.3-1mdk
libglib2.0_0-2.6.3-1mdk
libdbus-glib-1_0-0.23.2-2mdk
libtaglib0-1.3.1-3mdk
glibc_lsb-2.3.3-3mdk
libglib1.2-devel-1.2.10-14mdk
libglib1.2-1.2.10-15mdk
glib-gettextize-2.6.3-1mdk
glib2-2.4.0-9
glibc-devel-2.3.4-8mdk
[pto@169 ~]$

>Провожу ликбез:
>!) при установки из исходников устанавливается __ВСЁ ЧТО ЕСТЬ В ПАКЕТЕ__ (ну, иногда ещё бывает >make install_docs и прочее - но это исключение).

>2) при создании rpm пакетов, для удобства пользователя в него включается НЕ ВСЁ, что устанавливается >из исходников. В том числе, не включаются файлы, необходимые для сборки программ, зависящих от этого >пакета из сырцов.

>3) эта недостающая часть включается в пакет <packet_name>-devel

>То есть возможно 3 варианта: ты забьёшь на исходники и установишь всё как нормально из rpm (Кстати, а >зачем ты собираешь из исходников, мне интересно?),

Спасибо за ликбез. Из исходников я решил поставить для эксперимента, т.к. все пакеты уже перепробовал

>либо ты докачаешь нужные devel пакеты, которых у тебя нет,

Вроде все пакеты которые просили я установил

>либо, если ты уже напихал в систему собственноручно собранные библиотеки, тебе нужно прописать >правильный к ним путь:
>consider adjusting thePKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so >pkg-config can find them. - по английски понимаешь?

По английски понимаю в общих чертах :), только о чем речь идет, а вот детали... :(
Где этот путь прописывать-то?
Mandriva Linux 2007.0
Спасибо сказали:
Аватара пользователя
William Henry Gates
Сообщения: 493
Статус: ё-моё!!
ОС: jaunty

Re: Установка GTK+

Сообщение William Henry Gates »

зачем нарушать цельность системы? ставь из пакета rpm своего дистра, или по обновлению.
You are registered as user #384224 with the Linux Counter. jaunty jackalope & aspire 3650
Спасибо сказали:
Аватара пользователя
Gosha
Сообщения: 25

Re: Установка GTK+

Сообщение Gosha »

William Henry Gates писал(а):
12.12.2005 09:22
>зачем нарушать цельность системы? ставь из пакета rpm своего дистра, или по обновлению.


Дык из дистрибутива я уже все что можно поставил
Mandriva Linux 2007.0
Спасибо сказали:
Аватара пользователя
William Henry Gates
Сообщения: 493
Статус: ё-моё!!
ОС: jaunty

Re: Установка GTK+

Сообщение William Henry Gates »

что за дистр без gtk ?
You are registered as user #384224 with the Linux Counter. jaunty jackalope & aspire 3650
Спасибо сказали:
Аватара пользователя
Gosha
Сообщения: 25

Re: Установка GTK+

Сообщение Gosha »

William Henry Gates писал(а):
12.12.2005 10:02
что за дистр без gtk ?


Дистрибутив Mandrake 10.2.
gtk я из него уже установил, а вышеперечисленные проблемы все-равно остаются. В том-то и фишка - понять что не так :)
Mandriva Linux 2007.0
Спасибо сказали:
wieker
Сообщения: 15

Re: Установка GTK+

Сообщение wieker »

Ну ответ ясен:
libatk1.0_0-1.9.1-1mdk
atk-1.9.1-4
А где devel?

libpango1.0_0-modules-1.8.1-1mdk
pango-1.8.1-1mdk
libpango1.0_0-1.8.1-1mdk

А где pango-*-devel?

glib2-devel-2.4.0-9
...
libglib2.0_0-devel-2.6.3-1mdk
libglib2.0_0-2.6.3-1mdk
...
glib2-2.4.0-9
здесь всё правильно, толко почему сразу две версии стоят? Это не поможет :)

>>-Library requirements (glib-2.0 >= 2.4.0 atk >= 1.0.1 pango >= 1.4.0--
Этот косой вывод сбил тебя с толку. Ошибка возниает, если не выполнено хотя бы одно из условий (ну уж такие мейтейнеры у Gtk что поделаешь). То есть Glib у тебя правильная была. И доустанавливать более старую не было необходимости: ( 2.6.3 >= 2.4.0 :)) А вот установить devel к atk и pango нужно.
Спасибо сказали:
wieker
Сообщения: 15

Re: Установка GTK+

Сообщение wieker »

>либо, если ты уже напихал в систему собственноручно собранные библиотеки, тебе нужно прописать >правильный к ним путь:
>consider adjusting thePKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so >pkg-config can find them. - по английски понимаешь?

>По английски понимаю в общих чертах , только о чем речь идет, а вот детали...
>Где этот путь прописывать-то?

У скрипта ./configure есть параметр --prefix=
Он указывает то место, куда ты хочешь поставить программу(или библиотеку).
Например ./configure --prefix=$HOME позволит установить прогу в твою домашнюю директорию, соответственно для make install прав root уже иметь не нужно.
Естественно, что программы, которым требуется твоя либа, найти её в нестандартном месте не могут. О чем и сообщает ./configure тех программ - это назначение этого скрипта: 1. Проверить систему на пригодность для сборки. 2. по возможности найти все необходимые программы во всех известных науке местах.

Если он не может найти всё необходимое, то выводит сообщение о том, что не найдено. То есть надо дать ему дополнительную информацию. Для этих целей была создана утилита pkg-config, которая передаёт скрипту ./configure всю необходимую информацию. Единственное, что нужно знать этой программе - это место, куда вы установили вашу библиотеку. Для передачи этой информации служит переменная PKG_CONFIG_PATH. В ней должен быть указан путь к pc файлу твоей программы (т.к. не все программы поддерживают pkg-config) он находится там: (МЕСТ_КУДА_Я_ПОСТАВИЛ)/lib/pkgconfig
То есть необходимо написать PKG_CONFIG_PATH=(МЕСТ_КУДА_Я_ПОСТАВИЛ)/lib/pkgconfig ./configure
И (если ты до этого установил всё нужное из исходников) всё будет нормально. Если у тебя всё установлено в разные места, пути разделяются двоеточием.
И напоследок, если ты не задал --prefix явным образом, то обычно (не всегда, но исключения редки) он принимается за /usr/local, соответственно команда принимает вид PKG_CONFIG_PATH=/usr/loca/lib/pkgconfig ./configure

ВАЖНОЕ ЗАМЕЧАНИЕ ОЧЕНЬ ВАЖНОЕ
Не устанавливай невпопад несколько версий одной и той же библиотеки в __СТАНДАРТНЫХ МЕСТАХ__ (/usr, /usr/local, /opt). У тебя уже стоят 2 версии gtk. Это приводит к конфликтам и ненужным ошибкам. Если тебе нужно поставить программу из rpmили исходников УДАЛЯЙ то, что стояло до этого (то есть более старую версию). Не стоит заменять новую версию на старую. Если ты боишься, что после пресобрать у тебя не получится, а rpm уже будет удалена, то устанавливай все свои программы в /home, пока не наберёшься опыта. Это никак не ограничит их функциональность.
НЕ ПРЕВРАЩАЙ СВОЙ ДИСТРИБУТИВ В ПАКЕТО/ФАЙЛОПОМОЙКУ
У меня был случай, при сборки GNOME где-то вылазила ошибка. После 30 минут тормозов, я определил, что я не удалил devel пакет какой-то либы, хотя саму либу удалил. devel стоял в /usr Более новую либу из исходников я поставил в /usr/local.
pkg-config сначало смотрел на явно заданные пути, то есть /usr/local. Поэтому никаких конфликтов версий не произошло. Но при компиляции gcc передавалось -I/usr/include раньше, чем -I/usr/local/include, потому он компилировал с неподходящей версией и вылазила ошибка.
Спасибо сказали:
Аватара пользователя
Gosha
Сообщения: 25

Re: Установка GTK+

Сообщение Gosha »

wieker писал(а):
12.12.2005 22:33
ВАЖНОЕ ЗАМЕЧАНИЕ ОЧЕНЬ ВАЖНОЕ
Не устанавливай невпопад несколько версий одной и той же библиотеки в __СТАНДАРТНЫХ МЕСТАХ__ (/usr, /usr/local, /opt). У тебя уже стоят 2 версии gtk. Это приводит к конфликтам и ненужным ошибкам. Если тебе нужно поставить программу из rpmили исходников УДАЛЯЙ то, что стояло до этого (то есть более старую версию). Не стоит заменять новую версию на старую. Если ты боишься, что после пресобрать у тебя не получится, а rpm уже будет удалена, то устанавливай все свои программы в /home, пока не наберёшься опыта. Это никак не ограничит их функциональность.
НЕ ПРЕВРАЩАЙ СВОЙ ДИСТРИБУТИВ В ПАКЕТО/ФАЙЛОПОМОЙКУ
У меня был случай, при сборки GNOME где-то вылазила ошибка. После 30 минут тормозов, я определил, что я не удалил devel пакет какой-то либы, хотя саму либу удалил. devel стоял в /usr Более новую либу из исходников я поставил в /usr/local.
pkg-config сначало смотрел на явно заданные пути, то есть /usr/local. Поэтому никаких конфликтов версий не произошло. Но при компиляции gcc передавалось -I/usr/include раньше, чем -I/usr/local/include, потому он компилировал с неподходящей версией и вылазила ошибка.


Большое спасибо wieker`u за подробные и дельные советы. Обязательно прислушаюсь и буду работать по каждому пункту.
Я тоже не сторонник файловых помоек, каюсь, все произошло по незнанию, ведь поэкспериментировать хочется :). Поэтому сразу следующий вопрос: как КОРРЕКТНО удалать программы из rpm и исходников? И как КОРРЕКТНО делать upgrade программам, чтобы получить обновленную версию. Ведь честно говоря, с этого все и началось
Mandriva Linux 2007.0
Спасибо сказали:
Аватара пользователя
Gosha
Сообщения: 25

Re: Установка GTK+

Сообщение Gosha »

[quote name='wieker' post='146689' date='Dec 12 2005, в 21:14']

>А где devel?

[root@169 gtk+-2.4.0]# rpm -qa | grep atk
libatk1.0_0-1.9.1-1mdk
atk-devel-1.9.1-4
atk-1.9.1-4

>А где pango-*-devel?

[root@169 gtk+-2.4.0]# rpm -qa | grep pango
libpango1.0_0-modules-1.8.1-1mdk
pango-1.8.1-1mdk
libpango1.0_0-1.8.1-1mdk
pango-devel-1.8.1-4
Mandriva Linux 2007.0
Спасибо сказали:
Аватара пользователя
Gosha
Сообщения: 25

Re: Установка GTK+

Сообщение Gosha »

wieker писал(а):
12.12.2005 22:33
У скрипта ./configure есть параметр --prefix=
Он указывает то место, куда ты хочешь поставить программу(или библиотеку).
Например ./configure --prefix=$HOME позволит установить прогу в твою домашнюю директорию, соответственно для make install прав root уже иметь не нужно.
Естественно, что программы, которым требуется твоя либа, найти её в нестандартном месте не могут. О чем и сообщает ./configure тех программ - это назначение этого скрипта: 1. Проверить систему на пригодность для сборки. 2. по возможности найти все необходимые программы во всех известных науке местах.

Если он не может найти всё необходимое, то выводит сообщение о том, что не найдено. То есть надо дать ему дополнительную информацию. Для этих целей была создана утилита pkg-config, которая передаёт скрипту ./configure всю необходимую информацию. Единственное, что нужно знать этой программе - это место, куда вы установили вашу библиотеку. Для передачи этой информации служит переменная PKG_CONFIG_PATH. В ней должен быть указан путь к pc файлу твоей программы (т.к. не все программы поддерживают pkg-config) он находится там: (МЕСТ_КУДА_Я_ПОСТАВИЛ)/lib/pkgconfig
То есть необходимо написать PKG_CONFIG_PATH=(МЕСТ_КУДА_Я_ПОСТАВИЛ)/lib/pkgconfig ./configure
И (если ты до этого установил всё нужное из исходников) всё будет нормально. Если у тебя всё установлено в разные места, пути разделяются двоеточием.
И напоследок, если ты не задал --prefix явным образом, то обычно (не всегда, но исключения редки) он принимается за /usr/local, соответственно команда принимает вид PKG_CONFIG_PATH=/usr/loca/lib/pkgconfig ./configure


[root@169 gtk+-2.4.0]# PKG_CONFIG_PATH=/opt/gnome/lib/pkgconfig/

checking for glib-2.0 >= 2.4.0 atk >= 1.0.1 pango >= 1.4.0... Package atk was not found in the pkg-config search path.
Perhaps you should add the directory containing `atk.pc'
to the PKG_CONFIG_PATH environment variable
No package 'atk' found

configure: error: Library requirements (glib-2.0 >= 2.4.0 atk >= 1.0.1 pango >= 1.4.0) not met; consider adjusting thePKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.

А сейчас ей чего не хватает?
Mandriva Linux 2007.0
Спасибо сказали:
wieker
Сообщения: 15

Re: Установка GTK+

Сообщение wieker »

Сделай rpm -ql atk-devel | grep pkg

То место, где находится atk.pc и прописывай.

>[root@169 gtk+-2.4.0]# PKG_CONFIG_PATH=/opt/gnome/lib/pkgconfig/

Это, в смысле [root@169 gtk+-2.4.0]# PKG_CONFIG_PATH=/opt/gnome/lib/pkgconfig/ ./configure ?
Спасибо сказали:
Аватара пользователя
Gosha
Сообщения: 25

Re: Установка GTK+

Сообщение Gosha »

wieker писал(а):
13.12.2005 15:25
>Сделай rpm -ql atk-devel | grep pkg

>То место, где находится atk.pc и прописывай.

[pto@169 ~]$ rpm -ql atk-devel | grep pkg
/opt/gnome/lib/pkgconfig/atk.pc
[pto@169 ~]$

я его вроде прописал

>[root@169 gtk+-2.4.0]# PKG_CONFIG_PATH=/opt/gnome/lib/pkgconfig/

Это, в смысле [root@169 gtk+-2.4.0]# PKG_CONFIG_PATH=/opt/gnome/lib/pkgconfig/ ./configure ?


Да, это ./configure
Mandriva Linux 2007.0
Спасибо сказали:
wieker
Сообщения: 15

Re: Установка GTK+

Сообщение wieker »

Сделай:
PKG_CONFIG_PATH=/opt/gnome/lib/pkgconfig pkg-config --list-all | grep -atk

И ещё вопрос, ты PKG_CONFIG_PATH в той же строке определяешь, что и команда ./configure?

Если ты пишешь
PKG_CONFIG_PATH=...
./configure
Ничего не выйдет.
Надо либо:
PKG_CONFIG_PATH=... ./configure

Либо:
export PKG_CONFIG_PATH=...
./configure
Спасибо сказали:
Аватара пользователя
Gosha
Сообщения: 25

Re: Установка GTK+

Сообщение Gosha »

wieker писал(а):
13.12.2005 17:44
Сделай:
PKG_CONFIG_PATH=/opt/gnome/lib/pkgconfig pkg-config --list-all | grep -atk

И ещё вопрос, ты PKG_CONFIG_PATH в той же строке определяешь, что и команда ./configure?

Если ты пишешь
PKG_CONFIG_PATH=...
./configure
Ничего не выйдет.
Надо либо:
PKG_CONFIG_PATH=... ./configure

Либо:
export PKG_CONFIG_PATH=...
./configure


Конечно же я писал в разных строках :(
Вот что получилось теперь:

If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH
*** to point to the correct configuration files
no
configure: error:
*** GLIB 2.4.0 or better is required. The latest version of
*** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.

Как я понял теперь glib не устраивает, видно из-за двух версий. Что делать?
Mandriva Linux 2007.0
Спасибо сказали:
Аватара пользователя
Gosha
Сообщения: 25

Re: Установка GTK+

Сообщение Gosha »

Wieker ты письмо мое прочитал?
Mandriva Linux 2007.0
Спасибо сказали:
wieker
Сообщения: 15

Re: Установка GTK+

Сообщение wieker »

сделай rpm -ql atk-devel | grep pkg

rpm -ql pango-devel | grep pkg

rpm -ql glib-devel | grep pkg

Скорее всего каждая команда тебе выдаст 1 строку. Берёшь пути из каждой строки и прописываешь:

export PKG_CONFIG_PATH=путь1:путь2:путь3
(Если они конечно не совпадают :) )
./configure
Если и это не помогает - то удаляй свои glib и устанавливай оригинальную из дистрибутива.
Спасибо сказали:
Аватара пользователя
Gosha
Сообщения: 25

Re: Установка GTK+

Сообщение Gosha »

wieker писал(а):
14.12.2005 18:11
Если и это не помогает - то удаляй свои glib и устанавливай оригинальную из дистрибутива.


А как КОРРЕКТНО удалить не нужный glib? :) На него же могут быть завязаны другие программы :(
Mandriva Linux 2007.0
Спасибо сказали:
wieker
Сообщения: 15

Re: Установка GTK+

Сообщение wieker »

rpm -e glib2 --nodeps

когда всё будет удалено поставить заново..
Спасибо сказали:
Аватара пользователя
Gosha
Сообщения: 25

Re: Установка GTK+

Сообщение Gosha »

wieker писал(а):
15.12.2005 21:29
rpm -e glib2 --nodeps

когда всё будет удалено поставить заново..


Спасибо, после этой команды мое ядро накрылось медным тазом :(
Пришлось все переустанавливать.
Mandriva Linux 2007.0
Спасибо сказали: