Вопрос

При создании моего приложения с KDevelop 3.5 на Ubuntu 10.04 я получаю следующие ошибки:

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 ***

Где я могу получить нужную версию LibTool, или как я могу воссоздать aclocal.m4?

Это было полезно?

Решение

Попробуйте бежать

autoreconf --force --install
./configure
make

В корневом каталоге вашего проекта.

Если это не работает, попробуйте запустить make maintainer-clean Сначала иди на шаг 1.

Если это все еще не работает, беги make maintainer-clean, Затем удалите каждый сгенерированный файл в корневом каталоге вашего проекта; в том числе aclocal.m4, Любые m4 каталог, любое autom4te.cache каталог, configure, Makefile.in, config.h, config.h.in, config.status, libtool, ltmain.sh, и т. Д. Тогда перейдите к шагу 1.

Почему это работает: libtool и aclocal.m4 являются оба файлами, которые генерируются вашей системой сборки. Если они не синхронизированы (сгенерированы различными версиями инструментов сборки), вы получите эту ошибку. Обычно это не должно происходить, но пример чего-то может вызвать, когда вы проверяете сгенерированные файлы для контроля источника.

Что это решение делает удаление и восстановить все аутогенераторы файлы. Как только они стерты и регенерируются, они больше не могут быть вне синхронизации.

Другие советы

Пытаться

autoreconf -i

То -i вариант важен.

Если вы используете AnaConda, то это может быть связано с libTool и AutoConf из разных источников. Вы можете проверить это, выполнив

which libtool

which autoconf

Мой LibTool был из Кондона и AutoConf был системным пакетом. Удалить Autoconf и установил его снова, используя CONDA

apt remove -y autoconf (Убунту / Debian)

conda install -c anaconda autoconf

Примечание. Возможно, вам может потребоваться установить Automake.

conda install -c anaconda automake

Может быть, вы установили два LibTools разной версии. Попробуй apt-get remove all (пока вы ничего не получите, когда вы напечатаете which libtool в командной строке), то apt-get install тот, который тебе нравится.

Попробуйте запустить aclocal

Я решу эту удаление системы LibTool и установку из UPStream: Git Clone Git: //git.savannah.gnu.org/libtool.git

Sudo APT-Get Установите Texinfo Autoconf Automake Automake Make ./bootstrap ./Configure make sudo make install

Ни один из вышеперечисленных не работал.

Тогда это сработало:

autoconf -f
./configure
make

Ни один из вышеперечисленных не работал. После того, как я деактивировал кондейскую среду, она работала:

source deactivate

Я также сталкиваюсь с этой проблемой. В моем случае, на выходе ./autogen.sh, есть:

libtoolize: Вы должны добавить содержимое следующих файлов на «aclocal.m4»: libToolize: '/aclocal/libtool.m4' libtoolize: '/aclocal/ltoptions.m4' libToolize: '/aclocal/ltversion.m4' libToolize: Рассмотрим добавление «AC_CONFIG_MACRO_DIRS ([M4]) для Configure.ac, libToolize: и Rerunning libtoolize и aclocal. libtoolize: рассмотрите возможность добавления «-I M4» для ACLOCAL_AMFLAGS в Makefile.am.

Я просто добавляю содержание файлов в три * .m4 под / aclocal / к файлу aclocal.m4:

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

Тогда сделай.

Вот ошибка:

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.

Ни один из вышеперечисленных не работал.

Тогда это сработало:

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top