[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