Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Build shared libraries in ATLAS

I've read the entire ATLAS installation guide, and it says all you need to build shared (.so) libraries is to pass the --shared flag to the configure script. However, when I build, the only .so files that appear in my lib folder are libsatlas.so and libtatlas.so, though the guide says that there should be six others:

libatlas.so, libcblas.so, libf77blas.so, liblapack.so, libptcblas.so, libptf77blas.so

After installation some of the tests fail because these libraries are missing. Furthermore, FFPACK wants these libraries during installation.

Has anyone encountered this? What am I doing incorrectly?

like image 339
Nick Avatar asked Nov 18 '12 10:11

Nick


1 Answers

In my experience, it's a lot more complex than that, see our EasyBuild implementation of the ATLAS build procedure at https://github.com/hpcugent/easybuild-easyblocks/blob/master/easybuild/easyblocks/a/atlas.py .

We needed to:

  • enable the -fPIC compiler option
  • run 'make shared cshared ptshared cptshared' in the 'lib' directory

We're not even using --shared for configure, probably because it doesn't do much.

If you want to build ATLAS (and whatever you will be linking it with) without headaches, look into EasyBuild.

(disclaimer: I'm a developer for EasyBuild)

like image 178
Kenneth Hoste Avatar answered Sep 21 '22 19:09

Kenneth Hoste