[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