[MacPorts] #58646: gcc8 @8.3.0_4 +universal: does not build/install universal libraries
MacPorts
noreply at macports.org
Wed Jun 26 18:09:16 UTC 2019
#58646: gcc8 @8.3.0_4 +universal: does not build/install universal libraries
------------------------+--------------------
Reporter: Ionic | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: gcc8 gcc9 |
------------------------+--------------------
Comment (by Ionic):
... yes, right. I didn't check that.
So I guess the `gcc` ports aren't really broken, but with all that stuff,
how do we make sure that a compatible `libgcc` version is installed?
Look at OpenBLAS: I previously installed it with the (then default)
`+gcc8` variant and it did work back then, because `libgcc8` was a "full"
port and installed with `+universal` due to some dependency. That worked
fine. Recently, `libgcc8` was replaced with a stub port and `libgcc9` is
now providing the libraries needed. That's fine, because GCC and its
libraries are generally forward compatible (and if they aren't, the soname
changes). However, nothing pulled in the `+universal` variant when
`libgcc9` was installed. Boom, no more `+universal` `libgfortran.5.dylib`,
OpenBLAS `+universal` fails.
I *can* fix that situation manually by rebuilding `libgcc9` `+universal`,
but that isn't exactly a great solution for other users. Fixing the port
is difficult because the actual `libgcc` port that provides a specific
library is not easy to determine. For instance, just because `libgcc8` is
a stub port on my system that has been "replaced" by the contents of
`libgcc9`, this needs not be true for other systems - i.e., old systems
that can't use `libgcc9` retain `libgcc8` as a "full" port with the
original contents.
--
Ticket URL: <https://trac.macports.org/ticket/58646#comment:4>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list