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
Log:
[1] USE_GCC=4.2+, to avoid clang. Port needs -lgcc and -lgcc_s
explicitly.
[...]
[1] 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.
http://people.freebsd.org/~kwm/e2fsprogs-clang.diff
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.
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"