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

MacPorts noreply at macports.org
Fri Nov 24 20:40: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 kencu):

 Replying to [comment:11 ryandesign]:
 > Perhaps you're now understanding why we previously reached the
 conclusion that C++11 on libstdc++ systems isn't workable?


 Ryan, I did understand it --  but I also can understand that Michael is
 not too keen to stop cmake progress for the sake of older systems and I
 was just trying to help out a bit here as I have all these systems
 running.

 I was not surprised to see Michael press on with cmake newer releases.
 Other package management systems proceed apace with cmake releases.
 Without dealing with the issue, we'd be stuck on 3.9 forever, so we might
 as well sort it out.

 > There is no "buildbot stdlib thing" to fix.
 The steps you outlined are what I was referring to.



 It would seem that having a cmake-3.9 pegged cmake port (choose your name
 - cmake-legacy, cmake-3.9, cmake39, whatever seems popular enough) is
 trivial to do. It would have to conflict with cmake and cmake-devel, and
 would not need to coexist. It would fulfill the `bin/cmake` build
 dependency outlined in the current cmake PortGroup, so no big issue there.

 Somehow have to force that cmake39 version on systems without cmake
 installed if they try to install something that needs cmake. That would be
 easy enough to do in the cmake PortGroup, with a system test:

 {{{

 # can use cmake or cmake-devel; default to cmake if not installed

 if ${os.version} > 12 {
     depends_build-append path:bin/cmake:cmake
 } else {
     depends_build-append path:bin/cmake:cmake39
 }
 }}}


 Then - this is what I don't know how to do - someday perhaps automatically
 have that cmake39 replace itself with cmake once a suitable version of
 clang is installed. That might have to be a manual step, unless someone
 sees trickery that could do it.

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


More information about the macports-tickets mailing list