Domanda

Quando crea la mia applicazione con KDevelop 3.5 su Ubuntu 10.04, ottengo i seguenti errori:

libtool: Version mismatch error. This is libtool 2.2.6 Debian-2.2.6a-4, but the
libtool: definition of this LT_INIT comes from libtool 2.2.6b.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6 Debian-2.2.6a-4
libtool: and run autoconf again.
make[2]: *** [wktools4] Error 63
make[2]: Target `all' not remade because of errors.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
*** Exited with status: 2 ***

Dove posso trovare la versione necessaria di libtool, o come posso ricreare aclocal.m4?

È stato utile?

Soluzione

Provare a eseguire

autoreconf --force --install
./configure
make

nella directory principale del progetto.

Se questo non funziona, provare a eseguire make maintainer-clean prima e poi passare al punto 1.

Se questo ancora non lavoro, corsa make maintainer-clean, quindi eliminare tutti i file generato nella directory principale del progetto; compresi aclocal.m4, qualsiasi directory m4, qualsiasi directory autom4te.cache, configure, Makefile.in, config.h, config.h.in, config.status, libtool, ltmain.sh, ecc Poi vai al punto 1.

Perché funziona: e libtool aclocal.m4 sono entrambi file generati dal sistema di compilazione. Se sono fuori sincrono (generata da diverse versioni degli strumenti di compilazione), quindi si ottiene questo errore. Normalmente questo non dovrebbe accadere, ma un esempio di qualcosa che può causare è quando il check-in file generati al controllo del codice sorgente.

Ciò che questa soluzione non fa altro che cancellare e rigenerare tutti i file generati automaticamente. Una volta che sono cancellati e rigenerati, non possono essere sincronizzati più.

Altri suggerimenti

Prova

autoreconf -i

L'opzione -i è importante.

Se si sta utilizzando Anaconda, allora questo potrebbe essere dovuto a libtool e autoconf da fonti diverse. È possibile controllare questo eseguendo

which libtool

which autoconf

Il mio libtool era da Conda e autoconf era un pacchetto di sistema. autoconf disinstallato e installato di nuovo con Conda

apt remove -y autoconf (Ubuntu / Debian)

conda install -c anaconda autoconf

. Nota: Potrebbe essere necessario installare automake troppo

conda install -c anaconda automake

Forse avete installato due libtools di versione diversa. Cercate di apt-get remove all (finché non si ottiene nulla, quando si digita which libtool nella riga di comando), quindi apt-get install quello che ti piace.

Provare a eseguire aclocal

I risolvere che la disinstallazione libtool del sistema e l'installazione da monte: git clone git: //git.savannah.gnu.org/libtool.git

sudo apt-get install texinfo autoconf automake make
./bootstrap
./configure
make
sudo make install

Nessuno dei precedenti funzionato.

Allora questo ha funzionato:

autoconf -f
./configure
make

Nessuno dei precedenti funzionato. Dopo che ho disattivato l'ambiente Conda, ha funzionato:

source deactivate

Ho anche incontrato questo problema. Nel mio caso, nella produzione di ./autogen.sh, c'è:

libtoolize: Si dovrebbe aggiungere il contenuto dei seguenti file a 'aclocal.m4': libtoolize: '/aclocal/libtool.m4' libtoolize: '/aclocal/ltoptions.m4' libtoolize: '/aclocal/ltversion.m4 'libtoolize: Considerare l'aggiunta di 'AC_CONFIG_MACRO_DIRS ([m4])' a configure.ac, libtoolize: e libtoolize rieseguire e aclocal. libtoolize: Considerare l'aggiunta di '-I m4' per ACLOCAL_AMFLAGS in Makefile.am

.

Ho appena aggiungere il contenuto di tre * .m4 file sotto / aclocal / al file aclocal.m4:

cat <a path>/aclocal/libtool.m4 <a path>/aclocal/ltoptions.m4 <a path>/aclocal/ltversion.m4 >> aclocal.m4 

poi fare.

qui è l'errore:

libtool: Version mismatch error.  This is libtool 2.4.2 Debian-2.4.2-1.11, but the
libtool: definition of this LT_INIT comes from libtool 2.4.6.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2 Debian-2.4.2-1.11
libtool: and run autoconf again.

Nessuno dei precedenti funzionato.

Allora questo ha funzionato:

wget http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz -O /root/libtool-2.4.6.tar.gz
tar xzvf /root/libtool-2.4.6.tar.gz -C /root
cp -f /usr/share/libtool/build-aux/ltmain.sh /usr/share/libtool/build-aux/ltmain_sh
cp -f /root/libtool-2.4.6/build-aux/ltmain.sh /usr/share/libtool/build-aux/ltmain.sh

autoreconf -fi
./configure
make
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top