Red Hat Bugzilla – Bug 189642
/usr/lib/sse2 path not added to ld.so.conf
Last modified: 2007-11-30 17:11:31 EST
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
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. install atlas-sse2 and atlas-sse2-devel
2. try ./configure-ing any package which requires BLAS
Atlas is not found by the ./configure script.
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
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
Yes, I could do that. I'll add it to the next release, but I probably won't do a
release just for this.