Date: Thu, 23 Jan 2014 22:53:34 +0200 From: "Andrew W. Nosenko" <andrew.w.nosenko@gmail.com> To: marino@freebsd.org Cc: FreeBSD Ports <ports@freebsd.org>, Yuri <yuri@rawbw.com>, =?ISO-8859-1?Q?Bernhard_Fr=F6hlich?= <decke@bluelife.at>, Gerald Pfeifer <gerald@pfeifer.com>, Shane Ambler <FreeBSD@shaneware.biz> Subject: Re: USE_GCC doesn't set rpath Message-ID: <CALa-7vw_tYUdqvSNWPNGzShy7zwRXXZOnhV5q7sHKe3J3jiAAA@mail.gmail.com> In-Reply-To: <52E173E4.2050003@marino.st> References: <52DEE7EE.6010909@rawbw.com> <52DF0346.6000108@ShaneWare.Biz> <52E167BF.8050103@rawbw.com> <CAE-m3X0cMxJ_mpPZ_AoDb17G9Dg4F_Sj45KsZi-hYnd9mguhLw@mail.gmail.com> <52E173E4.2050003@marino.st>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jan 23, 2014 at 9:56 PM, John Marino <freebsd.contact@marino.st>wro= te: > On 1/23/2014 20:53, Bernhard Fr=F6hlich wrote: > > Am 23.01.2014 20:04 schrieb "Yuri" <yuri@rawbw.com>: > >> > >> On 01/21/2014 15:31, Shane Ambler wrote: > >>> > >>> I think you will find that qbittorrent will need to be built with the > >>> same gcc version as libtorrent-rasterbar. > >>> > >>> I believe qbittorrent is loading /usr/lib/libstdc++.so.6 then it load= s > >>> libtorrent-rasterbar.so.7 which tries to load libstdc++ and it is giv= en > >>> the already open copy which doesn't have GLIBCXX_3.4.15 that it needs > to > >>> run. > >> > >> > >> Yes, you are right, thst's what is happening. > >> So if any dependency has USE_GCC set, all dependent packages should al= so > > have USE_GCC set. Can ports build infrastructure automatically set > USE_GCC > > for dependent ports? Because doing this by hand in each port is tedious > and > > error prone. > >> > >> Yuri > > > > No it can't right now and this is why we need a ports compiler. Right n= ow > > we are hiding this problems by the fact that we are able to build 95% > > percent of the tree with clang and everyone is happy. We add dozens of > > patches to compile with clang or add this rpath workarounds to even mor= e > > ports just because nobody wants to acknowledge that this is shit and > won't > > work properly unless really everything is build with one compiler. > > > > The rpath stuff is only a workaround that works in a few cases but it > > doesn't work in all cases. You will still see very hard to diagnose > runtime > > crashes. > > While I basically agree with this sentiment, is not it just ports that > use C++ that are affected? Could not this be narrowed down to "We need > a single compiler for ports that use C++" ? > No. Everything that uses language- or feature-support library are affected. I'm, for example, unable to use OpenMP higher than 2.5 even if compiler is gcc-4.8, which is openmp-3.x capable). But, from my point of view, the problem is not a compiler nor rpath. rpath is unneeded indeed, and library indeed may be only one (under /lib). The real problem is that this is ancient library, not the most recent one. They are especially designed to be backward compatible and have the same so-number for a reason. --=20 Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALa-7vw_tYUdqvSNWPNGzShy7zwRXXZOnhV5q7sHKe3J3jiAAA>