[MacPorts] #55382: cmake @3.10.0: Cannot find a C++ compiler supporting C++11 on this system

MacPorts noreply at macports.org
Thu Nov 30 19:07:33 UTC 2017


#55382: cmake @3.10.0: Cannot find a C++ compiler supporting C++11 on this system
-------------------------+-------------------------------------------------
  Reporter:  ryandesign  |      Owner:  michaelld
      Type:  defect      |     Status:  new
  Priority:  High        |  Milestone:
 Component:  ports       |    Version:
Resolution:              |   Keywords:  tiger leopard snowleopard lion
      Port:  cmake       |  mountainlion
-------------------------+-------------------------------------------------

Comment (by ryandesign):

 Replying to [comment:35 kencu]:
 > >My question about why sharing data between FSF GCC libstdc++ and Apple
 GCC libstdc++ now works when it caused >crashes before remain.
 > It's that magic flag, `-D_GLIBCXX_USE_CXX11_ABI=0`

 As I've mentioned elsewhere, `-D_GLIBCXX_USE_CXX11_ABI=1` means use the
 GCC 5.1+ ABI, and `-DGLIBCXX_USE_CXX11_ABI=0` means use the pre-GCC 5.1
 ABI. We were experiencing crashes sharing objects between Apple's GCC
 4.2.1 libstdc++ and FSF GCC years before the release of GCC 5, so those
 versions of FSF GCC would have been using the old ABI already.

 > >I have a working cmake 3.10.0 built with libc++ on 10.6 right now,
 which would presumably work on 10.7 and 10.8 >too.
 > The 10.7 build will fail, sadly, as per comment:7

 Replying to [comment:36 kencu]:
 > That first 10.7 error, by the way, is due to some piece of software that
 cuts off the generated link line at 1024 characters on 10.7. Josh
 mentioned some kind of known bug in 10.7 that did something like this, and
 had a workaround. I don't know if that is what is doing it, exactly, but
 if we could figure that out, it might be useful.

 [https://cmake.org/Bug/view.php?id=15039 Right]. That bug(tracker) was
 closed and no new bug was filed in the new tracker but the issue remains.
 I'm not familiar with Josh's claim of a workaround.

 There was talk in that bug report about possibly being able to replace the
 problematic `GetLineFromStream` with `std::getline`.

 Since the problem seems to be that a character is lost or misinterpreted
 at the 1024-byte buffer size boundary, I wonder how reasonable it would be
 to just increase the buffer size on Lion to something huge. How long do we
 thing compile lines might get?

 > Even then, as above, once built, it will fail to link unless everything
 is build against libc++ as per LibcxxOnOlderSystems.

 I explained above why that's not so. cmake doesn't link with any C++
 libraries so it's fine to force it to use libc++ even if none of its
 dependencies do. I already have this running on an otherwise-libstdc++
 10.6 system.

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


More information about the macports-tickets mailing list