Skip site navigation (1)Skip section navigation (2)
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>