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