-
Bug
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
None
-
None
-
Moderate
-
rhel-sst-cs-plumbers
-
ssg_core_services
-
1
-
False
-
-
None
-
Red Hat Enterprise Linux
-
None
-
None
-
None
-
None
What were you trying to do that didn't work?
Install lapack-devel / blas-devel on RHEL9 and link against a compile a non-rh library / run unit tests (specifically, github.com/coin-or/Ipopt and github.com/coin-or-tools/ThirdParty-Mumps)
Unit tests compile but segfault. This is due to incorrect symbolic .so.3 linkages after lapack-devel and blas-devel v3.9.0-8 (issues starting at -10).
After installing blas-devel-3.9.0-8.el9.x86_64 lapack-devel-3.9.0-8.el9.x86_64 are linked correctly (and only blas, blas-devel, lapack, lapack-devel are installed).
lrwxrwxrwx. 1 root root 17 Aug 10 2021 /usr/lib64/libcblas.so -> libcblas.so.3.9.0 lrwxrwxrwx. 1 root root 17 Feb 28 19:45 /usr/lib64/libcblas.so.3 -> libcblas.so.3.9.0 lrwxrwxrwx. 1 root root 17 Aug 10 2021 /usr/lib64/libcblas.so.3.9 -> libcblas.so.3.9.0 -rwxr-xr-x. 1 root root 119632 Aug 10 2021 /usr/lib64/libcblas.so.3.9.0 lrwxrwxrwx. 1 root root 16 Aug 10 2021 /usr/lib64/libblas.so -> libblas.so.3.9.0 lrwxrwxrwx. 1 root root 16 Feb 28 19:45 /usr/lib64/libblas.so.3 -> libblas.so.3.9.0 lrwxrwxrwx. 1 root root 16 Aug 10 2021 /usr/lib64/libblas.so.3.9 -> libblas.so.3.9.0 -rwxr-xr-x. 1 root root 583104 Aug 10 2021 /usr/lib64/libblas.so.3.9.0 lrwxrwxrwx. 1 root root 18 Aug 10 2021 /usr/lib64/liblapack.so -> liblapack.so.3.9.0 lrwxrwxrwx. 1 root root 18 Feb 28 19:45 /usr/lib64/liblapack.so.3 -> liblapack.so.3.9.0 lrwxrwxrwx. 1 root root 18 Aug 10 2021 /usr/lib64/liblapack.so.3.9 -> liblapack.so.3.9.0 -rwxr-xr-x. 1 root root 7496680 Aug 10 2021 /usr/lib64/liblapack.so.3.9.0
After version 3.9.0-10, lapack-devel and blas-devel force the installation of lapack64 and blas64 as well, and as a result the libcblas.so.3, libblas.so.3, and liblapack.so.3 are incorrectly linked to e.g. libcblas64.so.3.9.0 instead of libcblas.so.3.9.0 which has a different calling convention
Upgraded: blas-3.9.0-10.el9.x86_64 blas-devel-3.9.0-10.el9.x86_64 lapack-3.9.0-10.el9.x86_64 lapack-devel-3.9.0-10.el9.x86_64 Installed: blas64-3.9.0-10.el9.x86_64 lapack64-3.9.0-10.el9.x86_64 Complete! lrwxrwxrwx. 1 root root 17 Aug 14 2023 /usr/lib64/libcblas.so -> libcblas.so.3.9.0 lrwxrwxrwx. 1 root root 19 Aug 14 2023 /usr/lib64/libcblas.so.3 -> libcblas64.so.3.9.0 lrwxrwxrwx. 1 root root 17 Aug 14 2023 /usr/lib64/libcblas.so.3.9 -> libcblas.so.3.9.0 -rwxr-xr-x. 1 root root 119000 Aug 14 2023 /usr/lib64/libcblas.so.3.9.0 lrwxrwxrwx. 1 root root 16 Aug 14 2023 /usr/lib64/libblas.so -> libblas.so.3.9.0 lrwxrwxrwx. 1 root root 18 Aug 14 2023 /usr/lib64/libblas.so.3 -> libblas64.so.3.9.0 lrwxrwxrwx. 1 root root 16 Aug 14 2023 /usr/lib64/libblas.so.3.9 -> libblas.so.3.9.0 -rwxr-xr-x. 1 root root 581888 Aug 14 2023 /usr/lib64/libblas.so.3.9.0 lrwxrwxrwx. 1 root root 18 Aug 14 2023 /usr/lib64/liblapack.so -> liblapack.so.3.9.0 lrwxrwxrwx. 1 root root 20 Aug 14 2023 /usr/lib64/liblapack.so.3 -> liblapack64.so.3.9.0 lrwxrwxrwx. 1 root root 18 Aug 14 2023 /usr/lib64/liblapack.so.3.9 -> liblapack.so.3.9.0 -rwxr-xr-x. 1 root root 7495416 Aug 14 2023 /usr/lib64/liblapack.so.3.9.0
Note that the incorrect linkages also occur when both lapack.x86_64 and lapack64.x86_64 are installed in the v3.9.0-8 revision (absent the devel), it just was not as noticeable of a problem before -10 because the -devel package only required lapack.x86_64 and not lapack64.x86_64 and avoided the issue
Please provide the package NVR for which bug is seen:
blas-devel-3.9.0-10.el9.x86_64
lapack-devel-3.9.0-10.el9.x86_64
(Though suspect the issue occurs in -8, can't reinstall at this point easily)
How reproducible:
Every time
Steps to reproduce
- Start on a clean RHEL9 base system
- Install the 3.9.0-8 version for baseline
dnf install -y --setopt=install_weak_deps=False blas-devel-3.9.0-8.el9.x86_64 lapack-devel-3.9.0-8.el9.x86_64
- Observe symlinks are for the .so.3 are pointed to e.g. libblas.so.3
lrwxrwxrwx. 1 root root 17 Aug 10 2021 /usr/lib64/libcblas.so -> libcblas.so.3.9.0 lrwxrwxrwx. 1 root root 17 Feb 28 19:45 /usr/lib64/libcblas.so.3 -> libcblas.so.3.9.0 lrwxrwxrwx. 1 root root 17 Aug 10 2021 /usr/lib64/libcblas.so.3.9 -> libcblas.so.3.9.0 -rwxr-xr-x. 1 root root 119632 Aug 10 2021 /usr/lib64/libcblas.so.3.9.0 lrwxrwxrwx. 1 root root 16 Aug 10 2021 /usr/lib64/libblas.so -> libblas.so.3.9.0 lrwxrwxrwx. 1 root root 16 Feb 28 19:45 /usr/lib64/libblas.so.3 -> libblas.so.3.9.0 lrwxrwxrwx. 1 root root 16 Aug 10 2021 /usr/lib64/libblas.so.3.9 -> libblas.so.3.9.0 -rwxr-xr-x. 1 root root 583104 Aug 10 2021 /usr/lib64/libblas.so.3.9.0 lrwxrwxrwx. 1 root root 18 Aug 10 2021 /usr/lib64/liblapack.so -> liblapack.so.3.9.0 lrwxrwxrwx. 1 root root 18 Feb 28 19:45 /usr/lib64/liblapack.so.3 -> liblapack.so.3.9.0 lrwxrwxrwx. 1 root root 18 Aug 10 2021 /usr/lib64/liblapack.so.3.9 -> liblapack.so.3.9.0 -rwxr-xr-x. 1 root root 7496680 Aug 10 2021 /usr/lib64/liblapack.so.3.9.0
- Install the newer 3.9.0-10 version
- Observe symlinks are for the .so.3 are now incorrectly pointed to e.g. libblas64.so.3
lrwxrwxrwx. 1 root root 17 Aug 10 2021 /usr/lib64/libcblas.so -> libcblas.so.3.9.0 lrwxrwxrwx. 1 root root 17 Feb 28 19:45 /usr/lib64/libcblas.so.3 -> libcblas.so.3.9.0 lrwxrwxrwx. 1 root root 17 Aug 10 2021 /usr/lib64/libcblas.so.3.9 -> libcblas.so.3.9.0 -rwxr-xr-x. 1 root root 119632 Aug 10 2021 /usr/lib64/libcblas.so.3.9.0 lrwxrwxrwx. 1 root root 16 Aug 10 2021 /usr/lib64/libblas.so -> libblas.so.3.9.0 lrwxrwxrwx. 1 root root 16 Feb 28 19:45 /usr/lib64/libblas.so.3 -> libblas.so.3.9.0 lrwxrwxrwx. 1 root root 16 Aug 10 2021 /usr/lib64/libblas.so.3.9 -> libblas.so.3.9.0 -rwxr-xr-x. 1 root root 583104 Aug 10 2021 /usr/lib64/libblas.so.3.9.0 lrwxrwxrwx. 1 root root 18 Aug 10 2021 /usr/lib64/liblapack.so -> liblapack.so.3.9.0 lrwxrwxrwx. 1 root root 18 Feb 28 19:45 /usr/lib64/liblapack.so.3 -> liblapack.so.3.9.0 lrwxrwxrwx. 1 root root 18 Aug 10 2021 /usr/lib64/liblapack.so.3.9 -> liblapack.so.3.9.0 -rwxr-xr-x. 1 root root 7496680 Aug 10 2021 /usr/lib64/liblapack.so.3.9.0
Expected results
/usr/lib64/libcblas.so.3 -> libcblas.so.3.9.0
/usr/lib64/libblas.so.3 -> libblas.so.3.9.0
/usr/lib64/liblapack.so.3 -> liblapack.so.3.9.0
Actual results
/usr/lib64/libcblas.so.3 -> libcblas64.so.3.9.0
/usr/lib64/libblas.so.3 -> libblas64.so.3.9.0
usr/lib64/liblapack.so.3 -> liblapack64.so.3.9.0