2015-11-04 20 views
5

On RHEL7 của tôi, tôi đang cố gắng để cài đặt py-earth và nhận được lỗi liên kết này:liên kết lỗi với cblas khi cài đặt scikit-học

/usr/bin/ld: cannot find -lcblas 

tôi có các gói blas, blas-devel, atlas và atlas-devel cài đặt .

Lệnh biên soạn in sau khi lỗi này quy định cụ thể

-L/usr/lib64/atlas -lcblas -lm .... 

Và cho đầy đủ, thư mục /usr/lib64/atlas chứa các tập tin và liên kết tượng trưng

libsatlas.so -> libsatlas.so.3.10 
libsatlas.so.3 -> libsatlas.so.3.10 
libsatlas.so.3.10 
libtatlas.so -> libtatlas.so.3.10 
libtatlas.so.3 -> libtatlas.so.3.10 
libtatlas.so.3.10 

Bất kỳ sự giúp đỡ sau đây?

Trả lời

6

Điều này có vẻ là một vấn đề với sklearn, không hiểu rằng gói atlas bây giờ là tệp được chia sẻ .so, thay vì nhiều tệp. Bạn có thể xem sự cố tại số github issue này.

Giải pháp của tôi là chiếc cuối cùng chào bán: chỉ cần tạo một liên kết:

ln -s /usr/lib64/atlas/libsatlas.so /usr/lib64/atlas/libcblas.so 

và thử lại.

0

Như Ian Roddis đã lưu ý, đây là lỗi trong việc tìm hiểu.

Cách giải quyết khác trên Linux đang nâng cấp pip lên phiên bản > = 8.1. Sau đó, pip có thể cài đặt bánh xe nhị phân "nhiều-linux" thay vì biên dịch scikit-learning từ nguồn. (Bánh xe nhị phân không có vấn đề này)