[Bug 861081] New: blas-devel symlinks libblas.so -> libblas.so.3.4.2 , rendering update-alternatives useless. Also for lapack-devel.
https://bugzilla.novell.com/show_bug.cgi?id=861081 https://bugzilla.novell.com/show_bug.cgi?id=861081#c0 Summary: blas-devel symlinks libblas.so -> libblas.so.3.4.2 , rendering update-alternatives useless. Also for lapack-devel. Classification: openSUSE Product: openSUSE 13.1 Version: Final Platform: x86-64 OS/Version: openSUSE 13.1 Status: NEW Severity: Normal Priority: P5 - None Component: Development AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: asmunder@stud.ntnu.no QAContact: qa-bugs@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:21.0) Gecko/20100101 Firefox/21.0 When blas-devel is installed or upgraded, it creates a symlink libblas.so -> libblas.so.3.4.2 (or similar). This does not play nice with update-alternatives, which expects libblas.so -> libblas.so.3 so that update-alternatives can change what libblas.so.3 points to. Please fix blas-devel to play nicely with other blas versions (e.g. openblas from the Science repo). The same is valid for lapack-devel. Please also fix lapack-devel. Reproducible: Always Steps to Reproduce: 1. Install blas-devel 2. Install openblas-devel from the Science repo 3. Use update-alternatives --config libblas.so.3 to change which BLAS is used Actual Results: libblas.so still links to the version from blas-devel, no matter what I specify using update-alternatives. Expected Results: libblas.so should link to the version I specified with update-alternatives -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c
zhang jiajun
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c1
Richard Biener
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c2
Åsmund Ervik
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c3
--- Comment #3 from Richard Biener
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c4
--- Comment #4 from Åsmund Ervik
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c5
Richard Biener
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c6
--- Comment #6 from Corot Sebastien
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c7
Dmitry Roshchin
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c8
--- Comment #8 from Richard Biener
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c9
--- Comment #9 from Dmitry Roshchin
It's rather using alternatives in shared library links which breaks ldconfig. It clearly isn't ldconfigs fault.
But in any case we need solution for switching between BLAS libraries. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c10
--- Comment #10 from Richard Biener
(In reply to comment #8)
It's rather using alternatives in shared library links which breaks ldconfig. It clearly isn't ldconfigs fault.
But in any case we need solution for switching between BLAS libraries.
Well, install a different one! (of course they happen to have different SONAME and thus comment#6 doesn't work) The idea in comment#6 would be workable with stub shared libraries with a common SONAME that dt-need the individual blas libraries. To switch blas implementations simply install the appropriate stub library. Just don't share that SONAME with one of the implementations. --- You can make the update-alternative work with ldconfig if you move all the shared libs to paths that are not in ld.so.conf. Then you can use symlinks to link to them. (Which is of course agains the shared library packaging policy). Which also means it probably works when you uninstall lapack/blas. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c11
--- Comment #11 from Richard Biener
(In reply to comment #9)
(In reply to comment #8)
It's rather using alternatives in shared library links which breaks ldconfig. It clearly isn't ldconfigs fault.
But in any case we need solution for switching between BLAS libraries.
Well, install a different one! (of course they happen to have different SONAME and thus comment#6 doesn't work)
The idea in comment#6 would be workable with stub shared libraries with a common SONAME that dt-need the individual blas libraries. To switch blas implementations simply install the appropriate stub library. Just don't share that SONAME with one of the implementations.
For example using
echo > t.c gcc t.c -o libblasstub.so -Wl,-soname=libblasstub.so -shared -nostdlib -lblas
and then linking against -lblasstub You can then replace libblasstub.so in the system with a different one DT_NEEDing another implementation. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c12
--- Comment #12 from Dmitry Roshchin
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c13
--- Comment #13 from Richard Biener
We can use the same solution as Debian:
/usr/lib/libblas.so.3 /usr/lib/liblapack.so.3 /usr/lib/blas/* /usr/lib/lapack/ /usr/lib/atlas/* /usr/lib/openblas/*
there *.so.3 created by update-alternatives.
But which variant is better?
/usr/lib/blas/libblas.so /usr/lib/blas/libblas.so.3 /usr/lib/blas/libblas.so.3.5.0
or
/usr/lib/libblas.so
definitely /usr/lib/libblas.so
/usr/lib/blas/libblas.so.3.5.0
Looks like there is no conflict between -devel packages.
Right, they don't share library names. It's also not necessary to have /usr/lib/atlas/* - only /usr/lib/lapack and /usr/lib/blas are necessary because those create the conflict with the alternatives link.
Using of stub libraries is more difficult, in this case we need to patch applications.
No, you only need to patch blas/lapack implementations. But yes, symlinking is easier - if it works. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c14
--- Comment #14 from Dmitry Roshchin
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c15
--- Comment #15 from Bernhard Wiedemann
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c16
--- Comment #16 from Bernhard Wiedemann
https://bugzilla.novell.com/show_bug.cgi?id=861081
https://bugzilla.novell.com/show_bug.cgi?id=861081#c17
Matthias Grießmeier
participants (1)
-
bugzilla_noreply@novell.com