[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