[MacPorts] #63864: libgcc-devel @12-20211028 does not install libgcc_s on macOS 12 with arm64 processor

MacPorts noreply at macports.org
Mon Nov 8 16:47:06 UTC 2021


#63864: libgcc-devel @12-20211028 does not install libgcc_s on macOS 12 with arm64
processor
-----------------------------------------+--------------------------
 Reporter:  bal-agates                   |      Owner:  (none)
     Type:  defect                       |     Status:  new
 Priority:  Normal                       |  Milestone:
Component:  ports                        |    Version:  2.7.1
 Keywords:  libgcc_s, numpy, matplotlib  |       Port:  libgcc-devel
-----------------------------------------+--------------------------
 libgcc-devel installs (7) libraries in /opt/local/lib/libgcc.  One of
 these is libgfortran.5.dylib which references libgcc_s.1.1 which was not
 installed on my system (macOS 12.0.1 Monterey with arm64 cpu).

 {{{
 % otool -L libgfortran.5.dylib
 libgfortran.5.dylib:
         @rpath/libgfortran.5.dylib (compatibility version 6.0.0, current
 version 6.0.0)
         @rpath/libgcc_s.1.1.dylib (compatibility version 1.0.0, current
 version 1.1.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1311.0.0)
 }}}

 This caused problems with two other ports I was working with.
 - build of py39-matplotlib failed (reference this builder
 report[https://build.macports.org/builders/ports-
 12_arm64-builder/builds/4711/steps/install-port/logs/stdio])
 - py39-numpy built but failed to load within python (#63814).

 I examined the work directory and did find the missing library.  I
 actually found it in two places where all the other libraries were in one
 place.  I do not understand that.

 {{{
 ./work/build/gcc/libgcc_s.1.1.dylib
 ./work/build/aarch64-apple-darwin21/libgcc/libgcc_s.1.1.dylib
 }}}

 Manually copying the second to /opt/local/lib/libgcc fixed the problem
 with numpy.  I haven't yet checked if matplotlib will now build.

 I do not understand portfiles well.  In the "set dylibs" I see both a
 libgcc_s.1 and libgcc_s.2.  Is the problem that libgcc_s.1.1 needs to be
 added?  I think this portfile is extra complicated because the sources for
 the arm64 are different than other architectures potentially producing a
 different list of libraries.  If a library isn't found is it ignored?
 Where does it look?  Does a minor version need to be specified?

-- 
Ticket URL: <https://trac.macports.org/ticket/63864>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list