libtool error de discrepancia de la versión
Pregunta
Cuando la construcción de mi solicitud con KDevelop 3.5 en Ubuntu 10.04, consigo los errores siguientes:
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 ***
¿Dónde puedo obtener la versión necesaria de libtool, o cómo puedo recrear aclocal.m4?
Solución
Trate de ejecutar
autoreconf --force --install
./configure
make
en el directorio raíz de su proyecto.
Si eso no funciona, intente ejecutar make maintainer-clean
primero y luego ir al paso 1.
Si aún así no funciona, make maintainer-clean
plazo, a continuación, elimine todos los archivos generados en el directorio raíz de su proyecto; incluyendo aclocal.m4
, cualquier directorio m4
, cualquier directorio autom4te.cache
, configure
, Makefile.in
, config.h
, config.h.in
, config.status
, libtool
, ltmain.sh
, etc. entonces ir al paso 1.
¿Por qué funciona esto: libtool
y aclocal.m4
son los dos archivos que son generados por el sistema de compilación. Si ellos no están sincronizados (generada por diferentes versiones de las herramientas de construcción), a continuación, obtiene este error. Normalmente, eso no debería ocurrir, pero un ejemplo de algo que puede hacer que es cuando se registre en los archivos generados a control de código fuente.
Lo que hace esta solución es eliminar y regenerar todos los archivos autogenerados. Una vez que se borran y se regeneran, no pueden estar fuera de sincronía más.
Otros consejos
Trate
autoreconf -i
La opción -i
es importante.
Si está utilizando Anaconda, entonces esto podría ser debido a libtool y autoconf de diferentes fuentes. Esto se puede comprobar mediante la ejecución
which libtool
which autoconf
Mi libtool era de Conda y autoconf era un paquete de sistema. autoconf desinstalado e instalado de nuevo utilizando Conda
apt remove -y autoconf
(Ubuntu / Debian)
conda install -c anaconda autoconf
. Nota: puede que tenga que instalar también automake
conda install -c anaconda automake
Tal vez usted ha instalado dos libtools de versión diferente. Trate de apt-get remove all
(hasta que se consigue nada, cuando se escribe which libtool
en la línea de comandos), entonces apt-get install
el que más le guste.
Trate de ejecutar aclocal
Me resolver que al desinstalar libtool del sistema y la instalación de aguas arriba: git clone git: //git.savannah.gnu.org/libtool.git
sudo apt-get install texinfo autoconf automake make ./bootstrap ./configure make sudo make install
Ninguna de las anteriores trabajado.
A continuación, esto funcionó:
autoconf -f
./configure
make
Ninguna de las anteriores trabajado. Después de que desactivó el entorno de Conda, funcionó:
source deactivate
También se produce este problema. En mi caso, en la salida de ./autogen.sh, existe:
libtoolize: Usted debe agregar el contenido de los siguientes archivos a 'aclocal.m4': libtoolize: '/aclocal/libtool.m4' libtoolize: '/aclocal/ltoptions.m4' libtoolize: '/aclocal/ltversion.m4 'libtoolize: Considerar la adición de 'AC_CONFIG_MACRO_DIRS ([m4])' a configure.ac, libtoolize: y libtoolize volver a ejecutar y aclocal. libtoolize: Considerar la adición de '-I m4' a ACLOCAL_AMFLAGS en Makefile.am
.Me acaba de anexar el contenido de los tres * .m4 archivos bajo / aclocal / al archivo aclocal.m4:
cat <a path>/aclocal/libtool.m4 <a path>/aclocal/ltoptions.m4 <a path>/aclocal/ltversion.m4 >> aclocal.m4
a continuación, hacer.
Aquí está el error:
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.
Ninguna de las anteriores trabajado.
A continuación, esto funcionó:
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