2012-02-15 48 views
12

Tôi đang cài đặt gcc 4.5.2 với mpc 0.8.2, mpfr 3.1.0 và gmp 5.0.2. Tôi đã sao chép từng thư mục mpc, mpfr và gmp vào thư mục gcc-4.5.2 (loại bỏ các thẻ phiên bản). GCC cấu hình thành công. Tuy nhiên, khi tôi thực hiện, tôi nhận được:Không thể định cấu hình gcc - mpfr không tìm thấy

checking for MPFR... no 
configure: error: libmpfr not found or uses a different ABI. 
make[1]: *** [configure-mpc] Error 1 
make[1]: leaving directory cross/build/gcc 
make: *** [all] Error 2 

MPFR nằm ở cross/src/gcc-4.5.2/mpfr. MPFR đã được xây dựng thành công. Bất cứ ai biết tại sao mpc không thể cấu hình?

Tôi nghĩ rằng vấn đề có thể phải làm một phần với libs/headers cho MPFR trong cross/src/gcc-4.5.2/mpfr/src chứ không phải trong cross/src/gcc-4.5.2/mpfr. Tất cả những gì tôi đã làm là trích xuất và sao chép mặc dù - đây là cấu trúc thư mục mặc định.

Trả lời

8

Tôi thấy rằng nếu tôi chạy export C_INCLUDE_PATH=/cross/gcc-4.5.2/mpfr/src thì export LD_LIBRARY_PATH=/cross/build-gcc-4.5.2/mpfr/src/.libs và cuối cùng là export LIBRARY_PATH=$LD_LIBRARY_PATH mọi thứ hoạt động như mong đợi.

Câu hỏi dai dẳng là lý do tại sao các tập lệnh cấu hình của gcc đặt cờ sai. Nó nên biết rằng libs của mpfr không có trong mpfr/.libs nhưng trong mpfr/src/.libs, tuy nhiên nó chuyển giá trị cũ sang mpc/configure.

+0

tôi đã (và đang gặp) cùng một vấn đề với việc xây dựng gcc trên Windows với MinGW/msys. Xuất/thiết lập các biến này như được đề xuất không giúp ích trong trường hợp của tôi. Có đúng thời gian và thứ tự đặt chúng quan trọng không, hoặc có bất kỳ điều gì khác mà tôi có thể kiểm tra không? –

+0

Tôi không biết liệu LD_LIBRARY_PATH/LIBRARY_PATH/C_INCLUDE_PATH có được kiểm tra trên các cửa sổ hay không. Bạn có thể thử chỉnh sửa makefile và thêm các tùy chọn -I và -L vào CFLAGS trong đó. –

+2

Điều này đã thay đổi với MPFR 3.1 (vị trí tiêu đề), đó là lý do tại sao GCC sử dụng phiên bản cũ. Phiên bản mới hơn không được hỗ trợ nghiêm ngặt, [trang tải xuống cơ sở hạ tầng GCC] (http://mirrors-us.seosue.com/gcc/infrastructure/) vẫn có phiên bản 2.4.2 được liệt kê. – rubenvb

27

Tôi gặp sự cố tương tự. Nhưng có vẻ như điều này xảy ra vì phiên bản MPFR mới nhất (trong trường hợp của bạn 3.1.0) đã thay đổi hệ thống phân cấp thư mục.

Thay vào đó, trước khi cấu hình, chạy sau khi bạn đang ở trong thư mục nguồn gcc của (chỉ có thể làm việc cho gcc4.5.2 hoặc mới hơn):

./contrib/download_prerequisites 

Nó sẽ tải về MPFR cần thiết, GMP và các phiên bản MPC (nhưng có lẽ không phải là phiên bản mới nhất) và giải nén những cài đặt này cho cài đặt gcc.

Sau đó, bạn có thể tiếp tục với cấu hình, tạo và cài đặt.

Hy vọng điều này sẽ hữu ích.

-Rakib

+0

Câu trả lời thú vị. Điều này làm việc tuyệt vời. Tôi không biết rằng các libs có thể được tải xuống tự động. –

+1

Nếu bạn đang sử dụng Mac thay thế lệnh "wget" trong tập lệnh bằng "curl -OL" – gerardw

+1

câu trả lời hay, tuy nhiên không tìm thấy tập lệnh download_prerequisites trong gcc 4.4, do đó đã làm theo cách thủ công – Denis

3

Hãy thử điều này trong khi cấu hình:

./configure --prefix=<DIR YOU WANT TO INSTALL GCC> \ 
--with-gmp=<DIRECTORY YOU INSTALLED GMP> \ 
--with-mpc=<MPC DIR> --with-mpfr=<MPFR DIR> 
3

Tôi đã có cùng một vấn đề trong một vài giờ, nhưng tôi giải quyết nó trong một cách khác.

Tôi đã xóa tất cả các thư mục cũ như gcc-4. * Và gcc-build, vì có cấu hình cũ bên trong. Sau đó, tôi đã kiểm tra lại với version-check.sh nếu mọi thứ ở đúng vị trí.

Tôi đã sử dụng Debian và nó bị thiếu bison và gnu awk! Tại sao là bất cứ điều gì. Tôi đã cài đặt lại hai lần và bắt đầu với cài đặt gcc. Bây giờ mọi thứ đều ổn.

Perhapse bạn có một problam tương tự có thể được giải quyết theo cách tương tự. Tôi phải kiểm tra mỗi khi tôi bắt đầu vbox và có lẽ nó là một vấn đề với vbox-hình ảnh của tôi, vì vậy khi tôi bắt đầu vbox tôi chạy một phiên bản kiểm tra.

2

thay vì --with-mpfr =, tôi sử dụng --with-mpfr-lib =-mprf-dir của bạn/lib (64?) --with-mpfr-include = bạn-mprf-dir/include.

Điều này phù hợp với tôi. PS: mprf-3.1.0 gmp-5.0.2 mpc-0.9

0

Không cần bạn có thể thử như thế này:

./configure \ 
--with-gmp=/opt/install/local\ 
--with-mpfr=/opt/install/local \ 
--with-mpc=/opt/install/local \ 
--with-gmp-include=/opt/install/build/gmp-6.0.0 \ 
--with-mpfr-include=/opt/install/build/mpfr-3.1.2/src \ 
--with-mpc-include=/opt/install/build/mpc-1.0.2/src --enable-languages=c,c++ 
Các vấn đề liên quan