Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#52002 closed defect (fixed)

lilypond build fails due to missing reference to libc++ on some Darwin systems - fix attached — at Version 4

Reported by: kenneth.f.cunningham@… Owned by: snc@…
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: Cc: ryandesign@…
Port: lilypond

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Lily pond fails to build on Snow Leopard with the LibcxxOnOlderSystems upgrade, due to missing reference to libc++. Failed build log attached. Fix Portfile diff also attached, that add reference to libc++ on Darwin Mountain Lion and lower with configure.cxx_stdlib=libc++

Change History (6)

Changed 8 years ago by kenneth.f.cunningham@…

Attachment: main.log.zip added

Failed build log of original build attempt.

Changed 8 years ago by kenneth.f.cunningham@…

Attachment: change-lilypond-libcxx.diff added

Portfile fix to add libc++ reference (diff)

comment:1 Changed 8 years ago by larryv (Lawrence Velázquez)

Cc: snc@… removed
Owner: changed from macports-tickets@… to snc@…

The check seems overzealous. Why bother with version? Just add the flag always.

platform darwin {
    if {${configure.cxx_stdlib} eq "libc++"} {
        configure.ldflags-append    "-lc++"
    }
}

comment:2 Changed 8 years ago by kenneth.f.cunningham@…

Thanks.Yes, more general version certainly fine with me, if there's no trouble with adding the reference to systems when not really needed -- was trying to be specific (perhaps overly careful). Presumably this additional library reference is not needed on platforms above mountain lion. Wasn't sure if adding it would cause trouble there. -- K

comment:3 Changed 8 years ago by nerdling (Jeremy Lavergne)

Resolution: fixed
Status: newclosed

Patched in r151452.

comment:4 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Description: modified (diff)

Can anyone explain why -lc++ is used here instead of the more usual -stdlib=libc++?

Indeed, does this need to be specific to darwin or libc++? Why not just:

configure.ldflags-append -stdlib=${configure.cxx_stdlib}

Has anyone reported this problem to the developers of lilypond so they can fix it in their sources? MacPorts sets -stdlib=whatever in CXXFLAGS, lilypond just seems to be neglecting to use the CXXFLAGS variable when linking C++ code.

Note: See TracTickets for help on using tickets.