Date: Mon, 20 Jan 2014 12:13:06 +0100 From: John Marino <freebsd.contact@marino.st> To: freebsd-ports@freebsd.org Cc: peter@rulingia.com Subject: Re: libstdc++.so.6 in base 9.2 system collides with libstdc++.so.6 in gcc47 Message-ID: <52DD04C2.8080904@marino.st> In-Reply-To: <20140120082955.GB5919@server.rulingia.com> References: <52DC4B94.8050304@rawbw.com> <52DC4CB6.3070503@marino.st> <20140120082955.GB5919@server.rulingia.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 1/20/2014 09:29, Peter Jeremy wrote: > On 2014-Jan-19 23:07:50 +0100, John Marino <freebsd.contact@marino.st> wrote: >> On 1/19/2014 23:03, Yuri wrote: >>> After the ports update my qbittorrent fails due to this collision: >>> $ qbittorrent >>> /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.15 required by >>> /usr/local/lib/libtorrent-rasterbar.so.7 not found > > Yes, the non-base gcc's aren't built correctly. There are some hacks > in Mk/bsd.gcc.mk that partially work around the problems for some ports. > >> The gcc47 should be built with specs that automatically insert a runpath >> (-Wl,-rpath,) of /usr/local/gcc47/ so that every binary and library >> built by it knows where to look. > > See ports/142226 and ports/182468. The approach taken by lang/gcc-aux mirrors your sentiment in the PRs. The rpath is inserted by the compiler itself, automatically, for every program and shared object produced. The individual ports would not need to set rpath themselves if they were built with lang/gcc-aux rather than lang/gcc47. It's built right into the link spec itself (gcc specs language). John
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52DD04C2.8080904>