"pkg-config --modversion glib-2.0" сообщает о старой версии

У меня Ubuntu 14.04 32 битная. Я пытаюсь скомпилировать приложение из исходного кода. Это дает мне сообщение об ошибке во время ссылки в make хотя процесс ./autogen.sh а также ./configure прошло без ошибок. Я получил эту ошибку undefined reference to g_variant_parse_error_quark Я прочитал, что эта функция g_variant_parse_error_quark добавлено в glib2 в 2,39. Я проверил установленные пакеты и обнаружил, что в моей системе версия libglib 2.40.0. тем не мение

 pkg-config --modversion glib-2.0

отчеты 2.38.2

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

Как я могу исправить эту проблему и позволить моей системе использовать правильную последнюю библиотеку?

1 ответ

Решение

Как я уже догадался, это произошло из-за противоречивости нескольких библиотек. Когда я бегу

 echo $PKG_CONFIG_PATH 

вернулась пустая строка

Затем я искал

  locate glib-2.0.pc

и я получил

  /usr/lib/i386-linux-gnu/pkgconfig/glib-2.0.pc
  /usr/lib/i386-linux-gnu/pkgconfig/spice-client-glib-2.0.pc
  /usr/local/lib/pkgconfig/glib-2.0.pc

Я тоже бегаю

  pkg-config --debug --modversion glib-2.0

чтобы найти, какие каталоги искали

Я посмотрел в glib-2.0.pc файлы и проверил номера версий.

Я нашел правильный glib-2.0.pc файл

тогда я бегу

  export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig/

после того ./autogen.sh а также make

прошло гладко

Другие вопросы по тегам