[MacPorts] #68329: py311-scipy @1.10.1_0+gfortran+openblas not building on Sonoma apple silicon

MacPorts noreply at macports.org
Mon Oct 16 11:21:47 UTC 2023


#68329: py311-scipy @1.10.1_0+gfortran+openblas not building on Sonoma apple
silicon
--------------------------+-----------------------
  Reporter:  quintusdias  |      Owner:  michaelld
      Type:  defect       |     Status:  assigned
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:  2.8.1
Resolution:               |   Keywords:
      Port:  py311-scipy  |
--------------------------+-----------------------

Comment (by bal-agates):

 I have verified on my system libopenblas.dylib does have duplicate
 LC_RPATH's.  See the attached otool-libopenblas.txt (with slightly
 different command line options than what I used above).  A snippet is:
 {{{
 Load command 15
           cmd LC_RPATH
       cmdsize 40
          path /opt/local/lib/libgcc (offset 12)
 Load command 16
           cmd LC_RPATH
       cmdsize 40
          path /opt/local/lib/libgcc (offset 12)
 }}}
 I have read that some older linkers will ignore this but that newer
 [Apple] linkers generate errors.

 In the log file it looks like "clang" generated the duplicate LC_RPATH
 error.  I am a little confused because the py311-scipy portfile has
 {{{
 compilers.setup         require_fortran -clang -gcc44 -gcc45 -gcc46 \
                         -gcc47 -gcc48 -g95
 }}}
 Doesn't "-clang" mean to disqualify clang?  The log file also has
 {{{
 :debug:main compiler clang 1500.0.40.1 not blacklisted because it doesn't
 match {clang < 1001}
 }}}
 This version of clang appears to be the version supplied by Apple with
 Xcode 15.0 which I believe is sensitive to duplicate LC_RPATH.

 On my system I currently have
 {{{
 $ port select --summary
 Name        Selected        Options
 ====        ========        =======
 clang       mp-clang-17     mp-clang-14 mp-clang-16 mp-clang-17 none
 gcc         mp-gcc13        mp-gcc13 none

 $ gcc --version
 Apple clang version 15.0.0 (clang-1500.0.40.1)

 $ which gcc
 /usr/bin/gcc
 }}}
 but the version of gcc13 from MacPort gcc13 should be???
 {{{
 $ opt/local/bin/arm64-apple-darwin23-gcc-mp-13 --version
 arm64-apple-darwin23-gcc-mp-13 (MacPorts gcc13 13.2.0_3+stdlib_flag)
 13.2.0
 }}}

 Questions:\\

 1) Is the best path to figure out why libopenblas.dylib has duplicate
 LC_RPATH's and fix?\\

 2) Why was clang getting used building py311-scipy?  Is this just cmake
 trying to determine whether BLAS and LAPACK libraries exist?\\

 3) What was the intent of the py311-scipy portfile with "-clang" and is it
 behaving as expected?\\

-- 
Ticket URL: <https://trac.macports.org/ticket/68329#comment:12>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list