svn commit: r431620 - head/audio/musicpd

Thomas Zander riggs at freebsd.org
Thu Jan 26 20:46:05 UTC 2017


On 26 January 2017 at 18:25, Jan Beich <jbeich at freebsd.org> wrote:
> Gerald Pfeifer <gerald at pfeifer.com> writes:
>
>> On Mon, 16 Jan 2017, Thomas Zander wrote:
>>
>>>   Fix build on 10.x
>>
>>> Modified: head/audio/musicpd/Makefile
>>> ==============================================================================
>>> +.if ${OSVERSION} < 1100000
>>> +USE_GCC=    5+
>>> +.endif
>>
>> What was the failure here?

The issue with gcc-4.9 is this section in src/command/CommandError.cxx:
...
#if defined(__GLIBCXX__) && __GLIBCXX__ < 20151204
        } catch (const std::exception &e) {
#else
        } catch (...) {
#endif
                try {
#if defined(__GLIBCXX__) && __GLIBCXX__ < 20151204
                        /* workaround for g++ 4.x: no overload for
                           rethrow_exception(exception_ptr) */
                        std::rethrow_if_nested(e);
#else
                        std::rethrow_if_nested(ep);
#endif
...

For gcc-4.9, patching this would be required, because obviously
testing for the glibc version doesn't give you the gcc version on
FreeBSD. With clang 3.6 on 10.x several additional compilation errors
occur.

> Whatever it was now the runtime is broken instead. USE_GCC is unsafe to
> use with C++ projects that have dependencies linked against libc++.

Sadly yes, there is an open PR for that:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216371
I plan to look into it on the weekend. Until then, if you happen to
have patches ... :-)

Riggs


More information about the svn-ports-all mailing list