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?

¿Fue útil?

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top