Не удается установить glib в нестандартном префиксе

Я пытаюсь установить glib с нестандартным префиксом, но при запуске make install получаю следующее:

/bin/sh ../libtool --mode=install /usr/bin/install -c libgthread-2.0.la '/root/build/lib'
libtool: install: error: cannot install `libgthread-2.0.la' to a directory not ending in /usr/local/lib

Есть ли причина, по которой я должен устанавливать gthread только с префиксом, заканчивающимся на /usr/local/lib?


person Elektito    schedule 23.04.2012    source источник
comment
Вы правильно настроили? Я имею в виду ./configure --prefix=<prefix_of_your_choice> ? Попробуйте make clean ; make distclean; ./configure --prefix=<prefix_of_your_choice> && make && make install   -  person another.anon.coward    schedule 23.04.2012
comment
Я все это делал, безрезультатно. Наконец-то я сделал что-то вроде ../gcc-4.7.0/configure --prefix=/root/build/usr/local/, чтобы все заработало.   -  person Elektito    schedule 24.04.2012
comment
Вам определенно не нужно устанавливать glib только в /usr/local/lib; это связано с некоторыми странностями libtool или automake, возможно, с устаревшими промежуточными файлами, лежащими в дереве. Я бы попробовал разархивировать новый исходный пакет и начать с нуля.   -  person gcbenison    schedule 26.04.2012
comment
Это было свежее исходное дерево, прямо из tar-архива. Он не говорит, что это должен быть /usr/local/lib, он говорит, что он должен заканчиваться этим, что все еще странно.   -  person Elektito    schedule 26.04.2012


Ответы (2)


Я также только что наткнулся на эту проблему при компиляции MonetDB на моем компьютере с Linux. Вот решение/обходной путь, который сработал для меня: всегда make clean после ./configure.

В вашем примере вы должны быть в состоянии сделать:

./configure --prefix=/root/build && make clean && make && make install

Я нашел решение в обсуждении ошибки apache httpd, где Джо Ортон поделился его знания:

«Сделать очистку» обычно необходимо после повторного запуска «настроить».

person Juve    schedule 22.01.2013
comment
У меня была эта проблема при компиляции Gimp 2.9.2. libtool: error: error: cannot install 'libgimpcolor-2.0.la' to a directory not ending in /usr/local/lib. Ответ работает, но нет ли другого метода вместо запуска make clean. Полная сборка занимает около 15 минут только потому, что одна библиотека каким-то образом жестко закодировала префикс... - person mxmlnkn; 31.08.2016

С использованием:

make clean 
make distclean 

Работает на меня.

person Sergio El Kala Rojas    schedule 27.05.2020