kwm at rainbow-runner.nl
Mon Jun 20 23:41:06 UTC 2011
On 6/21/2011 0:31 , Matthias Andree wrote:
> I'v commited this half an hour ago:
>> mandree 2011-06-20 22:02:53 UTC
>> FreeBSD ports repository
>> Modified files:
>> sysutils/e2fsprogs Makefile
>>  USE_GCC=4.2+, to avoid clang. Port needs -lgcc and -lgcc_s
>  is actually (a) a quick excuse and (b) based on the assumption
> that USE_GCC will override a clang default ports compiler.
> I HAVE tried clang, and got a particular kind of linker errors, namely
> that unrelated .o files redefine the same unrelated symbols - and a
> crc32.o file redefining libext2fs symbols is curious, to put it mildly.
> I currently suspect that there are "inline" handling differences
> between clang and gcc, combined with definitions ("implementations")
> in .h files, and possibly either different linker behaviour with
> clang, or actually different symbols.
Hey, could you try this patch? I try the USE_CSTD=gnu89 trick if I get
symbol troubles when linking. This is because clang defaults to gnu99
while gcc still defaults to gnu89. From what I remember the inline
keyword has different meanings between the two, or how you use it
atleast. Someone explained it to my last year but I can't remember all
the gory details about it.
> Has anyone seen similar issues (duplicate symbol errors) after
> switching to clang?
> Haven't had time to check things in detail, and thought I'd commit
> USE_GCC right away to unwedge the build for future -exp runs.
More information about the freebsd-ports