[MacPorts] #62801: lilypond 2.22.1_0: fails to build (macOS 11.3)
MacPorts
noreply at macports.org
Sat May 29 10:02:47 UTC 2021
#62801: lilypond 2.22.1_0: fails to build (macOS 11.3)
---------------------------+---------------------------
Reporter: emcrisostomo | Owner: nerdling
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords: bigsur x86_64
Port: lilypond |
---------------------------+---------------------------
Comment (by emcrisostomo):
That line in {{{FlexLexer.h}}} hasn't been modified at least in the past 6
years. I guess this is not 'just a flex issue': C++11 introduced the
{{{override}}} specifier, and compiler settings ({{{-Werror,-Wsuggest-
override}}}) are now forcing this warning to be treated as an error. We
could:
* Open an issue upstream to updated flex and make it more C++11 friendly.
* Temporarily fix {{{FlexLexer.h}}}, but I guess the solution would be
more complex than just adding the {{{override}}} specifier to the
{{{yyFlexLexer::yyFlexLexer}}} member function as @ggruener found out: it
would need to be C++-version aware, otherwise it would fail to compile
with older compilers.
* Modify the compiler settings to disable that error (I don't really feel
comfortable with relaxing compiler settings this way).
* Temporarily patch the {{{lilypond}}} sources so that a private version
of the {{{flex}}} headers are copied in the build directory, patched, and
compiled.
Any other ideas?
I've open an issue upstream: https://github.com/westes/flex/issues/486
If all this is correct, I would define an {{{OVERRIDE}}} macro
conditionally, depending on C++ version, and I'm willing to patch
{{{flex}}} sources and send a PR upstream. Anybody willing to sanity-
check this reasoning?
--
Ticket URL: <https://trac.macports.org/ticket/62801#comment:6>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list