Description of problem: After installing atlas-sse2 and atlas-sse2-devel packages ./configure script does not detect any atlas or blas libraries because they were added into /usr/lib/sse2/ directory and that directory was not added to the /etc/ld.so.conf.d/ location. Version-Release number of selected component (if applicable): atlas-sse2-3.6.0-10.fc5 How reproducible: Always Steps to Reproduce: 1. install atlas-sse2 and atlas-sse2-devel 2. try ./configure-ing any package which requires BLAS Actual results: Atlas is not found by the ./configure script. Expected results: It should be found.
This is expected behavior. Even if you manually install a config file in /etc/ld.so.conf.d and run ldconfig, you will still get the same behavior (I tried this with the configure script for octave). I'm not an expert on this, but it appears that the linker does not look in /usr/lib/sse2 at compile time, but it does at run time. In order to detect BLAS at compile time, you need to install blas-devel (note that blas-devel is a build dependency of octave, but it is possible to install octave without blas if atlas is installed). While installing blas-devel will also install blas, at run time the linker will still load the atlas blas library. For example, on my system, I have three packages with blas installed, blas, atlas, and atlas-sse2 (in /usr/lib /usr/lib/atlas and /usr/lib/sse2, respectively). With octave installed, the command "ldd /usr/bin/octave | grep blas" gives: libblas.so.3 => /usr/lib/sse2/libblas.so.3 (0x0373a000)
Indeed if atlas-sse2 is installed then at runtime the application links to sse2 libraries. So the only problem then is that after installing atlas-sse2-devel ./configure scripts can't detect any BLAS library. would making atlas-sse2-devel depend on blas-devel being installed, be a good solution?
Yes, I could do that. I'll add it to the next release, but I probably won't do a release just for this.