Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Apr 2015 00:44:23 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 199434] [patch] convert lang/spidermonkey24 to USES=compiler:c++11-lib
Message-ID:  <bug-199434-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199434

            Bug ID: 199434
           Summary: [patch] convert lang/spidermonkey24 to
                    USES=compiler:c++11-lib
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Keywords: patch
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: kwm@FreeBSD.org
          Reporter: truckman@FreeBSD.org
             Flags: maintainer-feedback?(kwm@FreeBSD.org)
          Keywords: patch
          Assignee: kwm@FreeBSD.org

Created attachment 155577
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=155577&action=edit
/tmp/spidermonkey24.patch

On FreeBSD 8 and 9, USES=compiler:c11 causes spidermonkey24 to be built with
clang and linked the old version of libstdc++ in base.

The x11-fm/sushi port links to both spidermonkey24 and webkit-gtk3.  On FreeBSD
8 and 9, webkit-gdk3 must now be compiled with gcc48 from ports and linked to
the version of libstdc++ from ports.  sushi itself only appears to contain C
code and doesn't require a c++ library.  When it is linked, the linker choses
libstdc++ based on the order of the shared libraries, and ends up linking to
libstdc++ from base.  This causes the build to fail with a link error because
the base version of libstdc++ does not support the newer c++ ABI version
required by webkit-gtk3.

Even if the sushi port is hacked to link to the newer libstdc++, the
application segfaults inside a deeply nested series of libmozjs and libgjs
function calls.

See <https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196078>; for more detail.

Changing spidermonkey24 and gjs to USES=compiler:c++11-lib, which causes them
to be built with gcc48 and linked to its bundled libstdc++, allows the
un-modified sushi port to successfully build, and not segfault when run.

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-199434-13>