"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
прошло гладко