Alberto Contador
Alberto Contador

Reputation: 263

Link error with cblas when installing scikit-learn

On my RHEL7, I am trying to install py-earth and getting this link error:

/usr/bin/ld: cannot find -lcblas

I have packages blas, blas-devel, atlas and atlas-devel installed.

The compilation command printed after this error specifies

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

And for completeness, the directory /usr/lib64/atlas contains the following files and symlinks

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

Any help?

Upvotes: 5

Views: 856

Answers (2)

Bernhard
Bernhard

Reputation: 2251

As Ian Roddis noted, this is a bug in scikit-learn.

Another workaround on Linux is upgrading pip to a version >=8.1. Then pip can install the "many-linux" binary wheel instead of compiling scikit-learn from source. (The binary wheel does not have this issue)

Upvotes: 0

ptau
ptau

Reputation: 113

This seems to be a problem with sklearn, not understanding that the atlas package now comes as a shared .so file, instead of multiple ones. You can see the problem at this github issue.

My solution was the last one offered: simply create a link:

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

and try again.

Upvotes: 6

Related Questions