[MacPorts] #62881: gcc11: port is deactivating libgcc10, resulting in broken dependent ports

MacPorts noreply at macports.org
Thu May 13 13:09:07 UTC 2021


#62881: gcc11: port is deactivating libgcc10, resulting in broken dependent ports
----------------------+--------------------------
  Reporter:  mascguy  |      Owner:  cjones051073
      Type:  defect   |     Status:  assigned
  Priority:  High     |  Milestone:
 Component:  ports    |    Version:
Resolution:           |   Keywords:
      Port:  gcc11    |
----------------------+--------------------------

Comment (by cjones051073):

 So, this is how it works. `libgcc` decides which is the primary runtime
 for a given OS. For most but the very oldest it is now provided by
 `libgcc11` which it depends on

 {{{
 Oberon ~/Projects/MacPorts/ports > port info libgcc
 libgcc @4.0 (lang)
 Variants:             universal

 Description:          Provides the appropriate gcc runtime. Picks the
 version to use based on macOS version.
 Homepage:             https://www.macports.org/

 Library Dependencies: libgcc11
 Conflicts with:       libgcc-devel
 Platforms:            darwin
 License:              BSD
 Maintainers:          none
 }}}

 `libgcc11` then contains the complete runtime provided by gcc11

 {{{
  > port contents libgcc11
 <snip>
 /opt/local/lib/libgcc/libasan.6.dylib
   /opt/local/lib/libgcc/libatomic.1.dylib
   /opt/local/lib/libgcc/libgcc_ext.10.4.dylib
   /opt/local/lib/libgcc/libgcc_ext.10.5.dylib
   /opt/local/lib/libgcc/libgcc_s.1.dylib
   /opt/local/lib/libgcc/libgfortran.5.dylib
   /opt/local/lib/libgcc/libgomp.1.dylib
   /opt/local/lib/libgcc/libitm.1.dylib
   /opt/local/lib/libgcc/libobjc-gnu.4.dylib
   /opt/local/lib/libgcc/libquadmath.0.dylib
   /opt/local/lib/libgcc/libssp.0.dylib
   /opt/local/lib/libgcc/libstdc++.6.dylib
   /opt/local/lib/libgcc/libubsan.1.dylib
   /opt/local/lib/libstdc++.6.dylib
 }}}

 The older `libgccX` then *only* provide older versions of the dylibs than
 thosein the newer ones. e.g.

 {{{
 Oberon ~/Projects/MacPorts/ports > port contents libgcc10
 Port libgcc10 contains:
   /opt/local/share/doc/libgcc10/README
 Oberon ~/Projects/MacPorts/ports > port contents libgcc9
 Port libgcc9 contains:
   /opt/local/lib/libgcc/libasan.5.dylib
 }}}

 what the above shows is gcc10 does not add any older libraries, the README
 is there because a port must install at least one file, but libgcc9
 provides an older version of the address sanitiser library.

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


More information about the macports-tickets mailing list