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