tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: using clang from pkgsrc to build packages?



>> ... on NetBSD/amd64 8.0, pkgsrc defaults to build e.g.
>> gnustep-base with clang, but fails with this excerpt from
>
> I had no idea.  This is a wrinkle, but I think our choices are
>
>   don't worry and let it be
>
>   stop abusing PKGSRC_COMPILER, and fail the build if the chosen
>   compiler is gcc

../../devel/gnustep-make/gnustep.mk appears to make a concious
decision to default to build gnustep with clang, as a matter of
fact it says "ONLY_FOR_COMPILER=clang", if the "fragile" option
is not used (which appears to default to off).

> Regarding the issue:
>
>> (and more undefined _Unwind* symbols).  Hm, the libobjc.so it
>> links with is from gnustep-objc, and contrary to the base system
>> libobjc.so, it doesn't have a run-time dependency on libgcc_s.so
>> which defines these symbols:
>>
>> d3: {16} ldd /usr/pkgsrc/devel/gnustep-base/work/.buildlink/lib/libobjc.so
>> /usr/pkgsrc/devel/gnustep-base/work/.buildlink/lib/libobjc.so:
>>         -lpthread.1 => /usr/lib/libpthread.so.1
>>         -lc.12 => /usr/lib/libc.so.12
>
> On netbsd-7 amd6:
>
> $ ldd /usr/pkg/lib/libobjc.so.4.6.0
> /usr/pkg/lib/libobjc.so.4.6.0:
>          -lpthread.1 => /usr/lib/libpthread.so.1
>          -lgcc_s.1 => /usr/lib/libgcc_s.so.1
>          -lc.12 => /usr/lib/libc.so.12

I know, and it's that way in 8.0 too.  But that's not the
libobjc.so which gnustep-base tries to link against, it instead
tries to link against the one produced by gnustep-objc, which
does not have a recorded run-time dependency on libgcc_s.so, and
therefore ends up with the Unwind symbols as undefined.

In some sense I can see that it feels wrong to let the
replacement compiler for gcc still depend on and use bits from
gcc; not sure whether that's the reasoning behind the current
state of affairs, but then again, I don't see where else those
bits are supposed to come from.

Suggestions for how to fix this "properly" warmly welcomed.

Regards,

- Håvard


Home | Main Index | Thread Index | Old Index