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

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

            Bug ID: 199435
           Summary: [patch] convert lang/gjs 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: gnome@FreeBSD.org
          Reporter: truckman@FreeBSD.org
             Flags: maintainer-feedback?(gnome@FreeBSD.org)
          Keywords: patch
          Assignee: gnome@FreeBSD.org

Created attachment 155578
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=155578&action=edit
patch to convert gjs to USES=compiler:c++11-lib

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

The x11-fm/sushi port links to both gjs 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.

See also <https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199434>;

-- 
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-199435-13>