[MacPorts] #56013: source-highlight @3.1.8_3: crashes (and fails to build) on 10.6

MacPorts noreply at macports.org
Mon Mar 19 00:37:17 UTC 2018


#56013: source-highlight @3.1.8_3: crashes (and fails to build) on 10.6
-------------------------------+--------------------------------------
  Reporter:  Ionic             |      Owner:  Mihai Moldovan <ionic@…>
      Type:  defect            |     Status:  closed
  Priority:  Normal            |  Milestone:
 Component:  ports             |    Version:
Resolution:  fixed             |   Keywords:
      Port:  source-highlight  |
-------------------------------+--------------------------------------

Comment (by ryandesign):

 Replying to [comment:2 Ionic]:
 > It's likely that this has been caused by #55926.
 >
 > Recompiling with `cxx11 1.1` and adding `-stdlib=c++11` causes other
 corruption:

 `-stdlib=c++11` is not a valid flag. Perhaps you meant `-std=c++11` and/or
 `-stdlib=libc++`.

 Replying to [comment:3 Ionic]:
 > Switching to a `libc++`-based installation as described in
 [[LibcxxOnOlderSystems]] fixes this bug, which is not very surprising.

 That does surprise me. That should not have worked, since that works by
 passing the `-stdlib=libc++` flag every time C++ files are compiled or
 linked. Since that flag was missing when linking, linking should have
 failed. And it should have succeeded when ''not'' using
 LibcxxOnOlderSystems.

 > Given that boost seems to be linking against the system `libstdc++`,
 which doesn't support C++11, we could potentially fix this issue by having
 boost link against `macports-libstdc++`, which does support C++11, if the
 `libc++` is set to `libstdc++`. Comments?

 Since #55926 was fixed, on older systems, boost does ''not'' use the
 system libstdc++, which doesn't support C++11. It uses the MacPorts
 libstdc++, which does support C++11.

 Replying to [comment:4 kencu]:
 > Perhaps this is a `wontfix`?

 No, we should fix such problems by passing the `-stdlib=` flag where
 needed. This will continue to be necessary after we make libc++ the
 default cxx_stdlib, unless we change the clang compiler's default stdlib.
 I know you've advocated for that elsewhere so we don't need to discuss it
 again in this ticket.

 Replying to [comment:6 Mihai Moldovan <ionic@…>]:
 > In [changeset:"14a4c593634999bbba14544fadf32076f57124ac/macports-ports"
 14a4c593634999bbba14544fadf32076f57124ac/macports-ports]:
 > {{{
 > #!ConfigurableCommitTicketReference repository="macports-ports"
 revision="14a4c593634999bbba14544fadf32076f57124ac"
 > textproc/source-highlight: use cxx-1.1 PortGroup, force stdlib
 selection, revbump.
 > }}}

 Using the cxx11 1.1 portgroup should not be necessary. The whole point of
 #55926 was to make C++11 features ''available'' to ports that use boost,
 but not to ''require'' ports that use boost to use C++11. If that didn't
 work for source-highlight -- if source-highlight doesn't build on older
 systems anymore unless C++11 is used now -- then we might need to
 reevaluate what we did in the boost port for #55926.

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


More information about the macports-tickets mailing list