Автор Тема: Возможная ошибка в pkg-config  (Прочитано 804 раз)

Оффлайн spike_spb

  • Давно тут
  • **
  • Сообщений: 41
    • Email
Возможная ошибка в pkg-config
« : 06.04.2015 19:50:19 »
Всем привет!
Хочу сообщить о возможной ошибке к pkg-config. В ходе обсуждения ошибки при сборке программы springlobby на Alt Linux автор пишет, что у него на Убунте команда
pkg-config --libs libnotify выдает следующее:

pkg-config --libs libnotify
-lnotify -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0

imo pkg-config on alt linux is broken/has a bug...


В то время, как на Альте (ALT Linux 7.0.5 KDesktop) она выдает

-lnotify

В самом ли деле это ошибка Альта?

Оригинал обсуждения:
https://github.com/springlobby/springlobby/issues/327#issuecomment-89799761

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Возможная ошибка в pkg-config
« Ответ #1 : 06.04.2015 22:15:12 »
Наверное, это:
http://www.altlinux.org/ОсобенностиСборкиПакетов
Цитировать
Почему в pkg-config отключена рекурсия (особенность сборки в ALT). Рекурсивный сбор --libs в принципе не нужен, более того — вреден, хотя бы потому что является источником огромного числа лишних зависимостей, которые потом должен обрабатывать apt и rpm.
Если программа не линкуется с какой-либо библиотекой, то весьма вероятно, что это ошибка в сборке библиотеки — библиотека использует функции из других библиотек, но с ними не слинкована. Ошибка эта практически везде, кроме как в ALT Linux прикрыта стандартным поведением pkg-config.

В качестве заглушки можно вписать

export ac_cv_path_PKG_CONFIG="%_bindir/pkg-config --recursive"

перед %configure, но лучше добиться исправления проблемной библиотеки (приложения). Пример исправления можно увидеть в спеке к libgtkmm2



Оффлайн spike_spb

  • Давно тут
  • **
  • Сообщений: 41
    • Email
Re: Возможная ошибка в pkg-config
« Ответ #2 : 07.04.2015 17:30:25 »
В качестве заглушки можно вписать
export ac_cv_path_PKG_CONFIG="%_bindir/pkg-config --recursive"
перед %configure,
Спасибо. А есть ли аналогичная заглушка для Cmake ?
Я не собираю пакет, мне просто нужно время от времени компилировать программу из гитхаба, а у нее CMakeLists.txt написаны для как раз тех дистрибутивов, где рекурсия pkg-config подключена.