Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Sep 2013 22:48:24 +0200
From:      =?UTF-8?Q?Ulrich_Sp=C3=B6rlein?= <uqs@FreeBSD.org>
To:        David Chisnall <theraven@freebsd.org>, gabor@freebsd.org
Cc:        freebsd-current CURRENT <freebsd-current@freebsd.org>
Subject:   Re: HEADS UP: No gcc by default in -HEAD on platforms where clang is cc
Message-ID:  <CAJ9axoSCit935pFwegr_nzkeZ7E%2BBXkx%2BpsfSDjAPY24V%2Bn7LQ@mail.gmail.com>
In-Reply-To: <BA5341BD-7FEE-4800-97CA-BBE410447439@FreeBSD.org>
References:  <23F19F73-738E-4490-BAE3-590C32FC141C@FreeBSD.org> <20130909132758.GK9030@acme.spoerlein.net> <BA5341BD-7FEE-4800-97CA-BBE410447439@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
2013/9/9 David Chisnall <theraven@freebsd.org>:
> On 9 Sep 2013, at 14:27, Ulrich Sp=C3=B6rlein <uqs@FreeBSD.org> wrote:
>
>> Case in point, I only recently switched to clang in base and now the
>> newsbeuter port crashes during startup (yeah, it builds fine). So all
>> I'm asking for now is: how can I override a random port to be built with
>> gcc (either from base or ports, I don't care). And what special
>> considerations need to be done when the port uses C++.
>
> Setting USE_GCC=3Dany to build with any gcc, or USE_GCC=3Dyes to build wi=
th a gcc from ports (they should do the same thing on a no-gcc-in-base syst=
em)
>
> For C++ ports, can you check whether the error is from libc++ or clang, b=
y first building libstdc++ from base and then setting CXXFLAGS=3D-stdlib=3D=
libstdc++ and LDFLAGS=3D-stdlib=3Dlibstdc++?  This will build it with libst=
dc++ and if that works then it narrows the issue down.
>
> Also, don't forget to report bugs to the port maintainer...

root@coyote:/usr/ports/www/newsbeuter# ldd `which newsbeuter`
/usr/local/bin/newsbeuter:
        libthr.so.3 =3D> /lib/libthr.so.3 (0x80093f000)
        libiconv.so.3 =3D> /usr/lib/libiconv.so.3 (0x800b64000)
        libintl.so.9 =3D> /usr/local/lib/libintl.so.9 (0x800d65000)
        libsqlite3.so.8 =3D> /usr/local/lib/libsqlite3.so.8 (0x800f6f000)
        libcurl.so.7 =3D> /usr/local/lib/libcurl.so.7 (0x801250000)
        libxml2.so.5 =3D> /usr/local/lib/libxml2.so.5 (0x8014ab000)
        libstfl.so =3D> /usr/local/lib/libstfl.so (0x801825000)
        libjson.so.0 =3D> /usr/local/lib/libjson.so.0 (0x801a34000)
        libstdc++.so.6 =3D> /usr/lib/libstdc++.so.6 (0x801c3b000)
        libm.so.5 =3D> /lib/libm.so.5 (0x801f3b000)
        libgcc_s.so.1 =3D> /lib/libgcc_s.so.1 (0x802160000)
        libc.so.7 =3D> /lib/libc.so.7 (0x80236d000)
        libcrypto.so.7 =3D> /lib/libcrypto.so.7 (0x802705000)
        libncursesw.so.8 =3D> /lib/libncursesw.so.8 (0x802af0000)
        libssl.so.7 =3D> /usr/lib/libssl.so.7 (0x802d45000)
        libgssapi.so.10 =3D> /usr/lib/libgssapi.so.10 (0x802fae000)
        libz.so.6 =3D> /lib/libz.so.6 (0x8031b7000)
        liblzma.so.5 =3D> /usr/lib/liblzma.so.5 (0x8033cc000)

So this is already linking to libstdc++ instead of libc++ (has libc++
been made the default on -CURRENT yet?)

Anyway, the problem is our libiconv (of course!), as the following works:

env LD_LIBRARY_PATH=3D/usr/local/lib:/usr/lib newsbeuter

It'll load the ports version of libiconv first, so the problem is with
libiconv in base :( Sorry for barking up the wrong tree, correlation
does not imply causation, eh?)

Cheers,
Uli



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ9axoSCit935pFwegr_nzkeZ7E%2BBXkx%2BpsfSDjAPY24V%2Bn7LQ>