Инсталирането на 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

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

Обикновено е необходимо "make clean" след повторно стартиране на "configure".

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