[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