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?
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'. –
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'. –
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 –