Re: r349100: buildworld does not compile (ld: error: duplicate symbol: sse42_crc32c)

From: Rainer Hurling <rhurlin_at_gwdg.de>
Date: Sun, 16 Jun 2019 19:44:39 +0200
Am 16.06.19 um 18:33 schrieb Warner Losh:
> 
> 
> On Sun, Jun 16, 2019, 9:51 AM Rainer Hurling <rhurlin_at_gwdg.de
> <mailto:rhurlin_at_gwdg.de>> wrote:
> 
>     If I try to build world almost recent sources (r349100) on HEAD amd64
>     (r348775), it stops with the following error:
> 
> 
>     [..snip..]
>     (cd /usr/src/tests/sys/kern &&  DEPENDFILE=.depend.libkern_crc32
>     NO_SUBDIR=1 make -f /usr/src/tests/sys/kern/Makefile _RECURSING_PROGS=t
>     PROG=libkern_crc32 )
>     echo libkern_crc32: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libc.a
>     /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c.a >>
>     .depend.libkern_crc32
>     cc -target x86_64-unknown-freebsd13.0
>     --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
>     -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe
>     -DUSERSPACE_TESTING -MD  -MF.depend.libkern_crc32.libkern_crc32.o
>     -MTlibkern_crc32.o -std=gnu99 -fstack-protector-strong -Wsystem-headers
>     -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
>     -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
>     -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body
>     -Wno-string-plus-int -Wno-unused-const-variable
>     -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
>     -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
>     -Wno-address-of-packed-member   -Qunused-arguments   -c
>     /usr/src/tests/sys/kern/libkern_crc32.c -o libkern_crc32.o
>     cc -target x86_64-unknown-freebsd13.0
>     --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
>     -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -O2 -pipe -DUSERSPACE_TESTING
>     -std=gnu99 -fstack-protector-strong -Wsystem-headers -Werror -Wall
>     -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
>     -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized
>     -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int
>     -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value
>     -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion
>     -Wno-unused-local-typedef -Wno-address-of-packed-member
>     -Qunused-arguments -DUSERSPACE_TESTING    -o libkern_crc32
>     libkern_crc32.o  /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
>     /usr/src/sys/libkern/x86/crc32_sse42.c -lprivateatf-c
>     ld: error: duplicate symbol: sse42_crc32c
>     >>> defined at crc32_sse42.c
>     >>>            /tmp/crc32_sse42-2988bd.o:(sse42_crc32c)
>     >>> defined at crc32_sse42.c
>     >>>            /tmp/crc32_sse42-bcf3d2.o:(.text+0x3C0)
>     cc: error: linker command failed with exit code 1 (use -v to see
>     invocation)
>     *** [libkern_crc32] Error code 1
>     make[6]: stopped in /usr/src/tests/sys/kern
>     1 error
>     make[6]: stopped in /usr/src/tests/sys/kern
>     *** [libkern_crc32] Error code 2
> 
> 
>     This happens with two older cpus, Intel (Core 17-4770) and AMD (Phenom
>     II X6 1090T).
> 
>     Am I the only one, who observes this breakage? Thanks for any hint.
> 
> 
> Try adding -DWITHOUT_TESTS to buildworld...
> 
> Warner
> 
> 
>     Regards,
>     Rainer Hurling



Many thanks Warner,

With -DWITHOUT_TESTS buildworld was able to finish. Is it secure to also
install it now?

BTW, in Poudriere, the same breakage seems to happen.

Regards,
Rainer
Received on Sun Jun 16 2019 - 15:44:45 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:21 UTC