Lors de la construction de mon application avec kdevelop 3.5 sur Ubuntu 10.04, les erreurs suivantes apparaissent:
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 ***
Où puis-je me procurer la version requise de libtool ou comment recréer aclocal.m4?
Essayez de courir
autoreconf --force --install
./configure
make
dans le répertoire racine de votre projet.
Si cela ne fonctionne pas, essayez d'abord d'exécuter make maintainer-clean
, puis passez à l'étape 1.
Si cela ne fonctionne toujours pas, lancez make maintainer-clean
, puis supprimez tous les fichiers générés dans le répertoire racine de votre projet; y compris aclocal.m4
, tout répertoire m4
, tout répertoire autom4te.cache
, configure
, Makefile.in
, config.h
, config.h.in
, config.status
, libtool
, ltmain.sh
, etc. Passez ensuite à l'étape 1.
Pourquoi cela fonctionne: libtool
et aclocal.m4
sont des fichiers générés par votre système de génération. S'ils ne sont pas synchronisés (générés par différentes versions des outils de génération), vous obtenez alors cette erreur. Normalement, cela ne devrait pas arriver, mais un exemple de ce que cela peut causer est lorsque vous archivez des fichiers générés dans le contrôle de code source.
Cette solution supprime et régénère tous les fichiers générés automatiquement. Une fois effacés et régénérés, ils ne peuvent plus être désynchronisés.
Essayer
autoreconf -i
L'option -i
est importante.
Si vous utilisez Anaconda, cela peut être dû à libtool et autoconf provenant de sources différentes. Vous pouvez vérifier cela en exécutant
which libtool
which autoconf
Mon libtool était de conda et autoconf était un paquet système. Autoconf désinstallé et réinstallé à l'aide de conda
apt remove -y autoconf
(Ubuntu/Debian)
conda install -c anaconda autoconf
Remarque: Vous devrez peut-être également installer automake.
conda install -c anaconda automake
peut-être avez-vous installé deux libtools de version différente. Essayez de apt-get remove all
(jusqu'à ce que vous n'obteniez rien, en tapant which libtool
dans la ligne de commande), puis apt-get install
celui que vous préférez.
Essayez de lancer aclocal
Je rencontre aussi ce problème. Dans mon cas, dans la sortie de ./autogen.sh, il y a:
libtoolize: Vous devez ajouter le contenu des fichiers suivants à 'aclocal.m4': libtoolize: '/aclocal/libtool.m4' libtoolize: '/aclocal/ltoptions.m4' libtoolize: '/aclocal/ltversion.m4' libtoolize: Pensez à ajouter 'AC_CONFIG_MACRO_DIRS ([m4])' pour configurer.ac, libtoolize: et réexécuter libtoolize et aclocal. libtoolize: Pensez à ajouter '-I m4' à ACLOCAL_AMFLAGS dans Makefile.am.
Je viens d'ajouter le contenu des trois fichiers * .m4 sous/aclocal/au fichier aclocal.m4:
cat <a path>/aclocal/libtool.m4 <a path>/aclocal/ltoptions.m4 <a path>/aclocal/ltversion.m4 >> aclocal.m4
puis faire.
Aucun de ce qui précède n'a fonctionné. Après avoir désactivé l'environnement conda, cela a fonctionné:
source deactivate
Aucun de ce qui précède n'a fonctionné.
Ensuite, cela a fonctionné:
autoconf -f
./configure
make
voici l'erreur:
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.
Aucun de ce qui précède n'a fonctionné.
Ensuite, cela a fonctionné:
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
Je résous ce logiciel de désinstallation libtool et l’installation en amont: git clone
Sudo apt-get install texinfo autoconf fabrique automatiquement. Make