Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-27271

lapack/blas-devel caused incorrect .so.3 symlinks for relevant libraries

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • lapack
    • None
    • None
    • Moderate
    • rhel-sst-cs-plumbers
    • ssg_core_services
    • 1
    • False
    • Hide

      None

      Show
      None
    • 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

      1. Start on a clean RHEL9 base system
      2. 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
      1. 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
       
      1. Install the newer 3.9.0-10 version
      2. 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

              jamartis@redhat.com Jakub Martisko
              jsloand Jeff Sloand
              Jakub Martisko Jakub Martisko
              RHEL CS Plumbers QE Bot RHEL CS Plumbers QE Bot
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated: