USE_GCC doesn't set rpath

John Marino freebsd.contact at marino.st
Thu Jan 23 19:56:56 UTC 2014


On 1/23/2014 20:53, Bernhard Fröhlich wrote:
> Am 23.01.2014 20:04 schrieb "Yuri" <yuri at 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 loads
>>> libtorrent-rasterbar.so.7 which tries to load libstdc++ and it is given
>>> 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 also
> 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 now
> 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 more
> 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++" ?

John


More information about the freebsd-ports mailing list