Как использовать альтернативную библиотеку вне системы Linux

Я создаю проект с открытым исходным кодом, настроенный GNU autoconf. Это зависит от glib2.36 и сообщает, что версия библиотеки glib ниже этой. Но я не хочу заменять glib моей системы на путь "/ usr / lib". Моя идея - загрузить glib2.36, собрать с нуля и установить его в "$ HOME / local". Затем я хочу настроить проект с помощью --prefix = $ HOME / local.

    $cd ~/tmp/glib-2.36.0$
    $./configure  --prefix=$HOME/local
    $make
    $make install

    $cd ~/tmp/project
    $./configure --prefix=$HOME/local

но он по-прежнему сообщает "проверка наличия GLIB - версия> = 2.36.0 ... нет". Как я могу решить эту проблему?


person sean    schedule 02.04.2013    source источник


Ответы (2)


Предполагая, что ваш проект использует pkg-config и макрос PKG_CHECK_MODULES, вы можете проверить, где pkg-config ищет .pc файлы, с помощью: pkg-config --variable pc_path pkg-config

Вы можете указать пути, по которым pkg-config будет искать первым, установив переменную PKG_CONFIG_PATH. Итак, вы должны вызвать configure с чем-то вроде:

env PKG_CONFIG_PATH="$HOME/local/pkgconfig" ./configure --prefix=$HOME/local

person Brett Hale    schedule 02.04.2013

--prefix не указывает, где ./configure ищет библиотеку. Он устанавливает, куда устанавливать файлы при запуске make install. ./configure --help покажет вам больше вариантов.

Если используется pkg-config, вы не можете установить переменные GLIB_CFLAGS и GLIB_LIBS env для изменения пути к конкретному пакету.

Но сначала вы должны проверить ./configure --help.

person graphite    schedule 02.04.2013