Подтвердить что ты не робот

Ошибка несоответствия версии libtool

При создании моего приложения с 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?

4b9b3361

Ответ 1

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

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 - это оба файла, которые генерируются вашей системой сборки. Если они не синхронизированы (сгенерированы разными версиями инструментов сборки), вы получите эту ошибку. Обычно это не должно происходить, но примером чего-то, что может вызвать это, является то, что вы проверяете сгенерированные файлы на исходный элемент управления.

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

Ответ 2

Try

autoreconf -i

Важен параметр -i.

Ответ 3

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

which libtool

which autoconf

Мой libtool был от conda, а autoconf был системным пакетом. Деинсталлировал autoconf и снова установил его, используя conda

apt remove -y autoconf (Ubuntu/Debian)

conda install -c anaconda autoconf

Примечание: вам может понадобиться установить automake тоже.

conda install -c anaconda automake

Ответ 4

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

Ответ 5

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

Ответ 6

Я решаю эту деинсталляцию системного libtool и установку из восходящего потока: git clone git://git.savannah.gnu.org/libtool.git

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

Ответ 7

Ничего из этого не было сделано.

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

autoconf -f
./configure
make

Ответ 8

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

source deactivate

Ответ 9

Я также сталкиваюсь с этой проблемой. В моем случае в выводе. /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: и повторно запустить 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 

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