[MacPorts] #59832: cmake 3.16.0: does not build on PPC Mac OS X 10.5.8, "Bus Error"
MacPorts
noreply at macports.org
Tue Mar 10 15:50:38 UTC 2020
#59832: cmake 3.16.0: does not build on PPC Mac OS X 10.5.8, "Bus Error"
--------------------------+-----------------------
Reporter: timishimuni | Owner: michaelld
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.6.2
Resolution: | Keywords: leopard
Port: cmake |
--------------------------+-----------------------
Comment (by kencu):
So far: I am only seeing this on 10.5 PPC. It seems that 10.4 PPC, and
10.4 and 10.5 Intel, do not show this happening. Further input from others
on whether this is also true would be appreciated.
Rolling back to libgcc 7.4.0 using the above epoch bump does resolve it,
although this is not ideal as it diverges the libgcc7 builds on different
systems to different versions.
I believe the underlying issue relates to the different ABIs used by
libstdc++ from our libgcc7 port, and the libstdc++ used by the system.
Presently we build libgcc7 using the default (new) ABI, but force all the
builds to the old abi by building with an enabled macro
{{{_GLIBCXX_USE_CXX11_ABI=0}}}. That is most likely the issue here. See
<https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html>.
In the above link, issues with {{{std::facet}}} are specifically
mentioned.
I am presently trying to rebuild libgcc7 7.5.0 with:
{{{
--with-default-libstdcxx-abi=0
}}}
I believe that will default all builds to {{{_GLIBCXX_USE_CXX11_ABI=0}}}
even without using the flag. {{{cmake}}} is famous for sanitizing it's
build environment, and it may not be using {{{_GLIBCXX_USE_CXX11_ABI=0}}}
during it's build.
If that works, I think we can enable that configure option for building
libgcc7, at least on 10.5 and less where it is important, but perhaps
everywhere (as in MacPorts, we are always setting
{{{_GLIBCXX_USE_CXX11_ABI=0}}} anyway, so it would just be redundant).
Hopefully that will work.
If it does not work, there is another configure option available for
libgcc, which is reported to force the old ABI behaviour all the time.
That might work.
{{{
--disable-libstdcxx-dual-abi
}}}
If none of those {{{libgcc}}} configure options work to fix the problem,
then rolling back to {{{libgcc7 7.4.0}}} would seem to be all we can do
until upstream helps us out.
--
Ticket URL: <https://trac.macports.org/ticket/59832#comment:15>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list