2015-09-23 10 views
6

Durante l'utilizzo autoreconf & automake & libtool per costruire ed installare la mia applicazione, ho sempre arrivare avvertimento "libtool: avvertimento: xxx.la non ha stato installato in/user/local/lib "e" libtool: avviso: ricordarsi di eseguire 'libtool --finish/usr/local/lib ". Ho provato molti metodi, ad esempio, pulire il progetto e riconfigurare con make clean, ma non posso ancora eliminare l'avviso. Ecco quello che ho provato:Libtool installare avvertimento: xxx.la non è stato installato in/user/local/lib

./configure 
make clean 
make 
make install prefix=~/Software/ 

Ecco parte della mia configure.ac che si riferisce a automake e libtool.

AM_INIT_AUTOMAKE([subdir-objects -Wall -Werror]) 
LT_INIT([dlopen]) 

Perché questi avvisi vengono omessi e come eliminarli?

risposta

1

Questo potrebbe essere un po 'in ritardo, ma stavo avendo lo stesso problema. È andato via dopo che ho fatto un make clean seguito da rigenerare il mio script "configure" con autoreconf. Successivamente, lo standard ./configure --prefix=... seguito da make e make install non ha più mostrato l'errore. In bocca al lupo!

+2

Sembra che 'libtool' semplicemente non supporti il ​​riposizionamento in fase di installazione tramite' DESTDIR' o qualsiasi altra cosa (confermata da [questa risposta] (http://stackoverflow.com/a/32766842/1879042), e sarà sempre prova a cercare nel '--libdir' specificato al momento della configurazione, non importa quante volte esegui' autoreconf'. –

+1

Per quanto riguarda il mio commento precedente, sembra che sia possibile applicare lo script 'libtool' inserendo' $ DESTDIR' nella riga 'libfile =" $ libdir/".........' che è fortunatamente unica nell'intero file. Questo deve essere fatto solo una volta dopo che lo script è stato generato (o aggiornato) e può essere eseguito automaticamente eseguendo 'perl -p -i -e 's #^(\ s * libfile =") (\ $ libdir /) # $ 1 \ $ DESTDIR $ 2 # 'libtool'. –

+1

La patch precedente impedisce l'avviso "* $ lib non è stato installato in $ libdir *". Per eliminare anche l'avviso "* ricorda di eseguire \' libtool --finish $ libdir \ '*", si può eseguire 'perl -p -i -e 's #^(\ s * se test" X \ $ destdir "=" X) (\ $ libdir ") # $ 1 \ $ DESTDIR $ 2 # 'libtool'. Nota, tuttavia, che non ho idea di quali effetti collaterali hanno queste patch nel caso più generale –

Problemi correlati