Поиск библиотек в процессе сборки

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Поиск библиотек в процессе сборки

Сообщение Hephaestus »

Предисловие:
Наконец дозрел и обновил свою слакварь с 14.1 до 14.2.
Естественно слакбилды и самосборы перестали работать. Будем потихоньку обновлять (или пересобирать) всё это хозяйство.
А пока всплыла проблема с gdm. В ветке слакбилдов 14.2 его уже нет, решил пересобрать тот, который был.

Суть проблемы:
gdm версии 2.20.11 при сборке хочет libpng. В предыдущей версии была libpng14 из которой, в частности, использовался libpng14.la.
В нынешней версии libpng16, соответственно libpng14.la уже нет, есть libpng16.la. Правда в системе в составе какого-то пакета остался в наличии libpng14.so.
Так вот, gdm при сборке упорно продолжает просить файл libpng14.la, без которого сборка завершается аварийно.
И вот это мне непонятно.

Либо ему надо libpng14 и тогда скрипт configure, как я понимаю, должен бы честно сказать, что не нашел и завершиться, либо его вполне устроит libpng16, но тогда изволь использовать libpng16.la.
Я же получаю ситуацию, когда configure завершается успешно, никаких криминальных сообщений я не заметил,
зато потом, уже в процессе сборки, оно в какой-то момент вдруг обнаруживает, что нет libpng14.la и на этом всё.

Явного упоминания libpng14 в сборочных файлах я не нашел. Следовательно библиотеки и прочие файлы должны обнаруживаться на этапе конфигурирования (по крайней мере, я на это надеюсь).
Точнее, я вообще не нашел ничего насчет libpng. Может, оно и не проверяется? Но это как-то странно, ибо для успешной сборки критично. И если не проверяется, тогда тем более непонятно, почему хочет именно libpng14.la, а не libpng15.la, к примеру.

Я сборкой не первый день занимаюсь, у меня одних самосборов порядка 500 шт, это не считая сборок со slackbuilds.org. Но вот с таким я не сталкивался.

В качестве сиюминутного решения я создал симлинк libpng14.la --> libpng16.la.
Оно спокойно собралось и даже работает. Но хотелось бы разобраться, в чем дело.

Отсюда вопрос: Чем определяется такое поведение? И на каком этапе это вообще рулится?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Поиск библиотек в процессе сборки

Сообщение serzh-z »

Это не gdm хочет libpng, а кто-то еще: https://github.com/GNOME/gdm/blob/gnome ... nfigure.ac
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20742
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Поиск библиотек в процессе сборки

Сообщение Bizdelnick »

Очевидно libpng14.la прописан в каком-то другом .la-файле, который используется прямо или также опосредованно.
Вообще все эти .la — зло, в большинстве дистрибутивов их давно выпилили. Для сборки они необязательны, но если попадётся хотя бы один, он непременно потребует другие.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2590
ОС: Gentoo

Re: Поиск библиотек в процессе сборки

Сообщение ormorph »

В genoo обычно раньше для этого использовался скрипт:

Shell

# ./lafilefixer --justfixit
Теперь он уже не используется, так как порты поумнели и удаляют эти файлы.
А так можно скачать тыц.
Просто запустить скрипт, и после того как он выполнится, сборка уже не будет требовать la файлы. И ни какие ссылки не надо делать.
Файлы .la это зло.
Спасибо сказали:
Ответить