From owner-freebsd-ports@FreeBSD.ORG Mon Jan 20 11:13:44 2014 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B974263D for ; Mon, 20 Jan 2014 11:13:44 +0000 (UTC) Received: from shepard.synsport.net (mail.synsport.com [208.69.230.148]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 918801FA3 for ; Mon, 20 Jan 2014 11:13:43 +0000 (UTC) Received: from [192.168.0.23] (unknown [130.255.19.191]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by shepard.synsport.net (Postfix) with ESMTP id E0D2D438BC; Mon, 20 Jan 2014 05:13:24 -0600 (CST) Message-ID: <52DD04C2.8080904@marino.st> Date: Mon, 20 Jan 2014 12:13:06 +0100 From: John Marino User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 MIME-Version: 1.0 To: freebsd-ports@freebsd.org Subject: Re: libstdc++.so.6 in base 9.2 system collides with libstdc++.so.6 in gcc47 References: <52DC4B94.8050304@rawbw.com> <52DC4CB6.3070503@marino.st> <20140120082955.GB5919@server.rulingia.com> In-Reply-To: <20140120082955.GB5919@server.rulingia.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: peter@rulingia.com X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list Reply-To: marino@freebsd.org List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jan 2014 11:13:44 -0000 On 1/20/2014 09:29, Peter Jeremy wrote: > On 2014-Jan-19 23:07:50 +0100, John Marino 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