5

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?

noleto
  • 1,534
  • 16
  • 12
Alberto Contador
  • 263
  • 1
  • 13

2 Answers2

6

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.

johnmdonich
  • 339
  • 1
  • 6
ptau
  • 113
  • 4
0

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)

Bernhard
  • 2,084
  • 2
  • 20
  • 33