2010-06-22 59 views
53

Khi xây dựng ứng dụng của tôi với kdevelop 3.5 trên Ubuntu 10.04, tôi nhận được các lỗi sau đây:libtool phiên bản không phù hợp lỗi

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

Tôi có thể lấy phiên bản cần thiết của libtool, hoặc làm thế nào tôi có thể tái aclocal.m4?

Trả lời

102

Thử chạy

autoreconf --force --install 
./configure 
make 

trong thư mục gốc của dự án của bạn.

Nếu điều đó không làm việc, hãy thử chạy make maintainer-clean đầu tiên và sau đó đi đến bước 1.

Nếu điều đó vẫn không làm việc, chạy make maintainer-clean, sau đó xóa tất cả các tập tin được tạo ra trong thư mục gốc của dự án của bạn; bao gồm aclocal.m4, bất kỳ thư mục m4, bất kỳ thư mục autom4te.cache, configure, Makefile.in, config.h, config.h.in, config.status, libtool, ltmain.sh, vv Sau đó, đi đến bước 1.

Tại sao công trình này:libtoolaclocal.m4 đều file được tạo bởi hệ thống xây dựng của bạn. Nếu chúng không đồng bộ (được tạo bởi các phiên bản khác nhau của công cụ xây dựng), thì bạn sẽ gặp phải lỗi này. Thông thường không nên xảy ra, nhưng một ví dụ về một cái gì đó có thể gây ra nó là khi bạn kiểm tra trong các tập tin được tạo ra để kiểm soát nguồn.

Giải pháp này thực hiện là xóa và tạo lại tất cả các tệp được tạo tự động. Khi chúng bị xóa và được tạo lại, chúng không thể không được đồng bộ hóa nữa.

+4

Tôi không muốn chỉnh sửa câu trả lời vì tôi không hiểu, nhưng tôi đã gặp lỗi này và 'autoreconf' không đủ.Tôi phải chạy: 'aclocal; libtoolize --force; autoheader; autoconf' – djeikyb

+2

'autoreconf' không có gì khác ngoài việc chạy tất cả các chương trình đó cho bạn. Có lẽ nên thêm tùy chọn '--force', tôi sẽ chỉnh sửa câu trả lời. – ptomato

+0

Tôi đã thử điều này với php5 trên ubuntu 12.04, nhưng mọi thứ trở nên tồi tệ hơn sau lệnh này: Tôi không thể thực thi './Configure' thành công sau – hek2mgl

1

Thử chạy aclocal

+1

cảm ơn câu trả lời của bạn. Bạn có thể vui lòng cụ thể hơn không? Tôi phải sử dụng những tùy chọn nào? Cảm ơn! – mspoerr

9

Hãy thử

autoreconf -i 

Tùy chọn -i là quan trọng.

1

có thể bạn đã cài đặt hai phiên bản libtools khác nhau. Hãy thử để apt-get remove all (cho đến khi bạn không nhận được gì, khi bạn nhập which libtool trong dòng lệnh), sau đó apt-get install cái bạn thích.

+1

Đã không nhận ra điều này cho đến khi tôi chạy libtool và thấy rằng nó trỏ đến cài đặt anaconda của tôi. Cảm ơn! – Yadli

0

tôi giải quyết mà gỡ bỏ cài đặt libtool hệ thống và cài đặt từ thượng nguồn: git clone git: //git.savannah.gnu.org/libtool.git

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

Không có ở trên làm việc.

Sau đó làm việc này:

autoconf -f 
./configure 
make 
0

Không có ở trên làm việc. Sau khi tôi đã tắt môi trường conda, nó hoạt động:

source deactivate

Các vấn đề liên quan