LINUX.ORG.RU

./configure не находит пакет


0

0

Всем привет,

Что-то я в ступоре. ./configure не находит один из пакетов, требуемых для сборки. При этом pkg-config, запущенный руками, отлично этот пакет находит и не выдаёт никаких ошибок.

В чём может быть проблема у ./configure?

★★

Ответ на: комментарий от Cyril

Содержимое config.log и название собираемой софтины/ненайденной библиотеки мы так и не узнаем?

anonymous
()
Ответ на: комментарий от anonymous

Не думаю, что это принципиально.
Но, если очень интересно, то собирается evolution, не находится gnome-desktop-2.0, config.log говорит следующее:

configure:16207: checking for GNOME_PLATFORM
configure:16222: $PKG_CONFIG --exists --print-errors «glib-2.0 >= 2.22.0
gthread-2.0 >= 2.22.0
gtk+-2.0 >= 2.18.0
gconf-2.0 >= 2.0.0
libgnomecanvas-2.0 >= 2.0.0
libxml-2.0 >= 2.7.3
shared-mime-info >= 0.22
gnome-desktop-2.0 >= 2.26.0
unique-1.0 >= 1.1.2»
Package gnome-desktop-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gnome-desktop-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gnome-desktop-2.0' found
configure:16233: $? = 1
configure:16262: $PKG_CONFIG --exists --print-errors «glib-2.0 >= 2.22.0
gthread-2.0 >= 2.22.0
gtk+-2.0 >= 2.18.0
gconf-2.0 >= 2.0.0
libgnomecanvas-2.0 >= 2.0.0
libxml-2.0 >= 2.7.3
shared-mime-info >= 0.22
gnome-desktop-2.0 >= 2.26.0
unique-1.0 >= 1.1.2»
Package gnome-desktop-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gnome-desktop-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gnome-desktop-2.0' found
configure:16273: $? = 1
No package 'gnome-desktop-2.0' found
configure:16342: error: Package requirements (glib-2.0 >= 2.22.0
gthread-2.0 >= 2.22.0
gtk+-2.0 >= 2.18.0
gconf-2.0 >= 2.0.0
libgnomecanvas-2.0 >= 2.0.0
libxml-2.0 >= 2.7.3
shared-mime-info >= 0.22
gnome-desktop-2.0 >= 2.26.0
unique-1.0 >= 1.1.2) were not met:

No package 'gnome-desktop-2.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 GNOME_PLATFORM_CFLAGS
and GNOME_PLATFORM_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

http://translate.google.ru/

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

Alternatively, you may set the environment variables GNOME_PLATFORM_CFLAGS
and GNOME_PLATFORM_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

amorpher ★★★★★
()
Ответ на: комментарий от amorpher

> http://translate.google.ru/

Вообще мне это напоминает пресловутое «rm -rf /» - по предполагаемому результату для людей, которые не могут обойтись без кривых переводчиков (я могу, если что).

Соответственно, всё остальное тоже мимо. В PKG_CONFIG_PATH лежит то, что должно лежать - не помогает. Последняя часть (про GNOME_PLATFORM_CFLAGS и далее) - костыль в имеющихся условиях, даже пробовать не буду; не за тем вопрос задавал.

Cyril ★★
() автор топика

Что-то я в ступоре. ./configure не находит один из пакетов

Welcome to the wonderful world of so-called "./configure && make && make install"...

При этом pkg-config, запущенный руками, отлично этот пакет находит и не выдаёт никаких ошибок.

А что выдает? Покажите вывод:

pkg-config --cflags --libs --modversion "gnome-desktop-2.0"

и

pkg-config --exists --print-errors "gnome-desktop-2.0 >= 2.26.0"

proud_anon ★★★★★
()
Ответ на: комментарий от proud_anon

bash-4.1$ pkg-config --cflags --libs --modversion «gnome-desktop-2.0»
2.30.0
-I/usr/local/include/gnome-desktop-2.0 -I/usr/include/gtk-2.0 -I/usr/include/startup-notification-1.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -L/usr/local/lib -lgnome-desktop-2 -lgtk-x11-2.0 -lstartup-notification-1 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0
bash-4.1$ pkg-config --exists --print-errors «gnome-desktop-2.0 >= 2.26.0»
bash-4.1$

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

Хм...

Вроде бы как и работает...

Попробуйте, тогда сделать так:

export PKG_CONFIG_DEBUG_SPEW=1
pkg-config --exists --print-errors "gnome-desktop-2.0 >= 2.26.0"

а потом еще запустите свой скрипт configure при установленной PKG_CONFIG_DEBUG_SPEW и посмотрите выхлоп pkg-config в каждом случае
Или уже пробовали?

И еще, что пишет configure в stdout/stderr, когда прерывается?

proud_anon ★★★★★
()
Ответ на: комментарий от proud_anon

> Хм... Вроде бы как и работает...

Ну так и я о чём. Ж;-)

Или уже пробовали?

Нет, не настролько хорошо знаю предмет. Ж;-) Попробую после праздников, доложусь.

И еще, что пишет configure в stdout/stderr, когда прерывается?

Нужно ещё что-то, помимо куска лога выше? Что именно?

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

>Нужно ещё что-то, помимо куска лога выше? Что именно?

Ну, ничего подозрительного не пишется при работе configure в консоль?
Это я на всякий случай, вдруг что.

А вообще выхлопа pkg-config с PKG_CONFIG_DEBUG_SPEW должно хватить... наверное.

proud_anon ★★★★★
()
Ответ на: комментарий от proud_anon

> Ну, ничего подозрительного не пишется при работе configure в консоль?

То-то и оно, что ничего. Конец выхлопа pkg-config с дебагом выглядит так:

line>Version: 2.30.0
line>Libs: -L${libdir} -lgnome-desktop-2
line>Cflags: -I${includedir}/gnome-desktop-2.0
Path position of 'gnome-desktop-2.0' is 1
Adding 'gnome-desktop-2.0' to list of known packages, returning as package 'gnome-desktop-2.0'

Тоже вроде всё ровно - весь выхлоп на pastebin выкину чуть позже.

Cyril ★★
() автор топика
Ответ на: комментарий от proud_anon

Забавная штука обнаружилась из этой же области... Решил собрать пока то, что собирается (evolution-data-server). И наблюдаю великолепную картину:

1. исходники, распакованные ручками для определения нужных опций ./configure и тестовой сборки, проходят сборку на ура;
2. запуск сборки из сценария приводит к проблемам с нахождением одного из пакетов.

Что-то вообще чума какая-то...

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

Первая идея: нужно-таки выложить полный выхлоп pkg-config.
Вторая идея: уточните вот это:

исходники, распакованные ручками для определения нужных опций ./configure и тестовой сборки, проходят сборку на ура;


Это в смысле, что пути ко всем библиотекам указываются вручную, и тогда нет проблем?

Если под sudo и не под sudo разные результаты, то, возможно, есть проблемы с правами на чтение каких-нибудь файлов *.pc?

proud_anon ★★★★★
()
Ответ на: комментарий от proud_anon

> Это в смысле, что пути ко всем библиотекам указываются вручную, и тогда нет проблем?

Нет, это в смысле, что я просто распаковываю исходники, захожу в их каталог и говорю ./configure от пользователя. И всё проходит.

Если я распаковываю их сценарием и из сценария же вызываю ./configure (по ряду причин сценарий запускается через sudo), тогда ошибка при проверке зависимостей.

Если под sudo и не под sudo разные результаты, то, возможно, есть проблемы с правами на чтение каких-нибудь файлов *.pc?

Уже проверил - отличий в правах с рядом лежащими не нашёл. Везде 100644, root/root.

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

Вот так примерно:

bash-4.1$ sudo pkg-config --libs --print-errors gweather
Package gweather was not found in the pkg-config search path.
Perhaps you should add the directory containing `gweather.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gweather' found
bash-4.1$ pkg-config --libs --print-errors gweather
-L/usr/local/lib -lgweather -lgtk-x11-2.0 -lgconf-2 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0
bash-4.1$

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

И вот так:

bash-4.1$ PKG_CONFIG_DEBUG_SPEW=1 sudo pkg-config --libs --print-errors gweather
Package gweather was not found in the pkg-config search path.
Perhaps you should add the directory containing `gweather.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gweather' found
bash-4.1$

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

До кучи:

bash-4.1$ export
...
declare -x PKG_CONFIG_PATH=«/usr/local/lib/pkgconfig:/usr/lib/pkgconfig»
...

Все .pc лежат именно по этим путям.

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

А, так он всегда под рутом запускается. А переменная $PKG_CONFIG_PATH у рута и у обычного пользователя имеет одинаковое значение?

proud_anon ★★★★★
()
Ответ на: комментарий от proud_anon

А то... Тоже первым делом проверил.

Cyril ★★
() автор топика
Ответ на: комментарий от proud_anon

> А теперь:

Не, это не то. Ж;-) Было бы то - давно бы нашёл.

bash-4.1$ echo $PKG_CONFIG_PATH
/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
bash-4.1$ sudo -i
Password:
root@Old:~# echo $PKG_CONFIG_PATH
/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
root@Old:~#

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

Ну и до кучи - чтобы про права вопрос не всплывал:

root@Old:~# ls -l /usr/local/lib/pkgconfig/
total 64
-rw-r--r-- 1 root root 250 2010-04-16 23:24 babl.pc
-rw-r--r-- 1 root root 267 2010-04-17 02:22 gegl.pc
-rw-r--r-- 1 root root 475 2010-04-17 12:05 gimp-2.0.pc
-rw-r--r-- 1 root root 252 2010-04-17 12:05 gimpthumb-2.0.pc
-rw-r--r-- 1 root root 306 2010-04-17 12:05 gimpui-2.0.pc
-rw-r--r-- 1 root root 534 2010-04-22 00:04 giomm-2.4.pc
-rw-r--r-- 1 root root 622 2010-04-22 00:04 glibmm-2.4.pc
-rw-r--r-- 1 root root 313 2010-04-24 02:41 gnome-desktop-2.0.pc
-rw-r--r-- 1 root root 365 2010-04-30 00:58 gweather.pc
-rw-r--r-- 1 root root 173 2010-04-04 21:30 lensfun.pc
-rw-r--r-- 1 root root 290 2010-04-16 23:01 libopenraw-1.0.pc
-rw-r--r-- 1 root root 342 2010-04-16 23:01 libopenraw-gnome-1.0.pc
-rw-r--r-- 1 root root 310 2010-04-20 02:05 mjpegtools.pc
-rw-r--r-- 1 root root 243 2010-03-06 18:24 openal.pc
-rw-r--r-- 1 root root 384 2010-04-04 00:45 protobuf-lite.pc
-rw-r--r-- 1 root root 389 2010-04-04 00:45 protobuf.pc
root@Old:~#

Cyril ★★
() автор топика
Ответ на: комментарий от proud_anon

> Надо так:

Логично - то-то мне что-то не нравилось...

File 'xtst.pc' ignored, we already know about package 'xtst'
File 'xv.pc' appears to be a .pc file
File 'xv.pc' ignored, we already know about package 'xv'
File 'xvmc.pc' appears to be a .pc file
File 'xvmc.pc' ignored, we already know about package 'xvmc'
File 'xxf86dga.pc' appears to be a .pc file
File 'xxf86dga.pc' ignored, we already know about package 'xxf86dga'
File 'xxf86misc.pc' appears to be a .pc file
File 'xxf86misc.pc' ignored, we already know about package 'xxf86misc'
File 'xxf86vm.pc' appears to be a .pc file
File 'xxf86vm.pc' ignored, we already know about package 'xxf86vm'
Looking for package 'gweather'
Looking for package 'gweather-uninstalled'
Looking for 'gweather' using legacy -config scripts
Calling gnome-config
Package gweather was not found in the pkg-config search path.
Perhaps you should add the directory containing `gweather.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gweather' found
bash-4.1$

(не имеющее значения опущено)

Cyril ★★
() автор топика
Ответ на: комментарий от proud_anon

Это я к тому, что если он у вас в /usr/local, то, возможно, PKG_CONFIG_PATH и не нужен. В этом случае /usr/local/lib/pkgconfig будет просматриваться автоматически, отчего в конце файлы и проигнорированы. Но мешать не должен в любом случае.

proud_anon ★★★★★
()
Ответ на: комментарий от proud_anon

О как...

bash-4.1$ head /tmp/log
PKG_CONFIG_DEBUG_SPEW variable enabling debug spew
Adding directory '/usr/lib/pkgconfig' from PKG_CONFIG_PATH
Adding directory '/usr/share/pkgconfig' from PKG_CONFIG_PATH

Cyril ★★
() автор топика
Ответ на: комментарий от proud_anon

bash-4.1$ whereis pkg-config
pkg-config: /usr/bin/pkg-config /usr/X11R6/bin/pkg-config /usr/bin/X11/pkg-config /usr/X11/bin/pkg-config /usr/man/man1/pkg-config.1.gz /usr/share/man/man1/pkg-config.1.gz /usr/X11/man/man1/pkg-config.1.gz
bash-4.1$

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

/usr/share/pkgconfig - симлинк на usr/lib/pkgconfig

А вот где /usr/local/lib/pkgconfig? И почему раньше он не выдавал таких проблем? Вопрос, однако...

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

>/usr/bin/pkg-config /usr/X11R6/bin/pkg-config /usr/bin/X11/pkg-config /usr/X11/bin/pkg-config

Отчего его СТОЛЬКО? Хотя не важно, должен одинаково работать.

Adding directory '/usr/lib/pkgconfig' from PKG_CONFIG_PATH

Adding directory '/usr/share/pkgconfig' from PKG_CONFIG_PATH



Очень интересно...
А есть там «Adding directory '/usr/local/lib/pkgconfig' from PKG_CONFIG_PATH»

И еще, File 'gweather.pc' находится?

proud_anon ★★★★★
()
Ответ на: комментарий от proud_anon

> Отчего его СТОЛЬКО? Хотя не важно, должен одинаково работать.

Патрика спросить надо... Симлинки для всеобщей совместимости, наверное...

А есть там «Adding directory '/usr/local/lib/pkgconfig' from PKG_CONFIG_PATH»

Хех. Был бы - на написал бы «О как...». Ж;-) Нет. И это мне странно. Ладно бы, недавно обновлял, что поломалось - так нет, год уже pkg-config не обновлялся, и работал отлично...

И еще, File 'gweather.pc' находится?

Это в смысле?

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

В общем, ясно. Надо разбираться, почему не добавляется нужный путь. Причём не добавляется не всегда (или начал это делать совсем недавно - месяц назад я ещё точно пересобирал пакеты без проблем).

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

>Это в смысле?

File 'gweather.pc' appears to be a .pc file
Will find package 'gweather' in '/usr/local/lib/pkgconfig/gweather.pc'

И еще вот что. Не написал ли Патрик чего-нибудь в переменную PKG_CONFIG_LIBDIR?

proud_anon ★★★★★
()
Ответ на: комментарий от proud_anon

> File 'gweather.pc' appears to be a .pc file

Will find package 'gweather' in '/usr/local/lib/pkgconfig/gweather.pc'


Нет, конечно. Путь-то к нему не добавляется, когда под sudo запускаю. Как раз финальная ругань в выходе дебага на месте этого и появляется.

Не написал ли Патрик чего-нибудь в переменную PKG_CONFIG_LIBDIR?


Не написал. Она у меня не объявлена - ни под пользователем, ни под root'ом.

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

Хм...
А EXTRA_PKG_CONFIG_LIBDIR? Вообще env | grep PKG_CONFIG?

Кстати, какая версия pkg-config?

pkg-config --version

И совершенно ли точно pkg-config не обновлялся весь год вообще?

ls -l /usr/bin/pkg-config

proud_anon ★★★★★
()
Ответ на: комментарий от proud_anon

> Вообще env | grep PKG_CONFIG?

Нет там ничего, кроме PKG_CONFIG_PATH. Ж;-)

pkg-config --version


0.23

И совершенно ли точно pkg-config не обновлялся весь год вообще?


-rwxr-xr-x 1 root root 88536 2008-04-10 03:53 /usr/bin/pkg-config*

Кроме того, в /var/log/packages файл pkg-config датирован апрелем прошлого года.

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

Когда я сидел на солярке, у меня был самосборный pkg-config 0.23, и он, вроде бы, тоже иногда игнорировал PKG_CONFIG_PATH. Правда, тогда я винил кривые руки. Теперь я сижу на Убунте, и тут pkg-config 0.22. Все, вроде бы, работает. Почему он у вас месяц назад, работал, а сейчас нет, не знаю.

Вот здесь: http://mail.gnome.org/archives/gtk-list/2004-January/msg00192.html рекомендуют выставить помимо PKG_CONFIG_PATH еще PKG_CONFIG=<путь к pkg-config>, например PKG_CONFIG=/usr/bin/pkg-config

Можно, в крайнем случае, собрать pkg-config самому (http://pkgconfig.freedesktop.org/releases/) и посмотреть, что получится.

proud_anon ★★★★★
()
Ответ на: комментарий от proud_anon

Думаю, что сначала попробую собрать пакет из тех, с которыми раньше проблем не было и у которых зависимости в /usr/local/lib/pkgconfig. GIMP тот же, например.

Cyril ★★
() автор топика
Ответ на: комментарий от proud_anon

Вот то же самое и получилось... Ломается на первой же зависимости, которая в /usr/local, а не в /usr. Ж:-\ По той же причине - откуда-то берёт левое значение PKG_CONFIG_PATH.

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

Интересно, не поломал ли разработчкик что в sudo? Вроде это единственное из связки, что недавно обновлялось. И после этого обновления примерно вроде как проблемы и пошли.

С другой стороны, плохо представляю, что там можно сломать.

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

>Если начать с sudo -i - всё работает, как положено

Хм...
А что получается при

sudo echo $PKG_CONFIG
sudo echo $PKG_CONFIG_PATH
sudo env | grep PKG_CONFIG

Только без sudo -i?

proud_anon ★★★★★
()
Ответ на: комментарий от proud_anon

bash-4.1$ sudo echo $PKG_CONFIG

bash-4.1$ sudo echo $PKG_CONFIG_PATH
/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
bash-4.1$ sudo env | grep PKG_CONFIG
bash-4.1$

Cyril ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.