Re: ld: error: duplicate symbol:

2020-08-18 Thread Emmanuel Vadot
On Mon, 17 Aug 2020 21:49:52 +0200
Dimitry Andric  wrote:

> On 17 Aug 2020, at 15:42, O. Hartmann  wrote:
> > 
> > On CURRENT 9not necessarily most recent with LLVM11, but since noon of 
> > today it
> > is FreeBSD 13.0-CURRENT #15 r364297: Mon Aug 17 14:39:06 CEST 2020 amd64) 
> > I'm
> > faced with some very sticky and nasty micompilations in several essential
> > ports, for instance
> > 
> > ports-mgmt/pkg
> > devel/libunwind
> > devel/binutils
> > 
> > In most cases somewhere in the (parallel) build the process fails with the 
> > error
> > 
> > ld: error: duplicate symbol: 
> 
> This is because clang 11 (and gcc 10) now default to -fno-common. The
> rationale is explained pretty well in
> <https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=6271dd984d7f920d4fb17ad37af6a1f8e6b796dc>:
> 
> "GCC currently defaults to -fcommon.  As discussed in the PR, this is an 
> ancient
> C feature which is not conforming with the latest C standards.  On many 
> targets
> this means global variable accesses have a codesize and performance penalty.
> This applies to C code only, C++ code is not affected by -fcommon.  It is 
> about
> time to change the default."
> 
> A quick fix is to add CFLAGS+=-fcommon to your make.conf, but that is
> rather a big hammer. It is better to add it to just the ports that show
> problems due to duplicated symbols. And ideally, those duplicated
> symbols should be patched out of the ports.
> 
> For example, ports-mgmt/pkg already has such a patch:
> https://github.com/freebsd/pkg/commit/7fbde60c4af4a1a07db7c5c36efbb2a495f7b1a4
> but I have no idea why it is not yet in the ports tree.

 I was sure it was at least in pkg-devel but no, I guess I forgot to
update svn.
 It's now unbroke in both pkg and pkg-devel.

> -Dimitry
> 


-- 
Emmanuel Vadot 
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: ld: error: duplicate symbol:

2020-08-18 Thread Hartmann, O.
On Mon, 17 Aug 2020 21:49:52 +0200
Dimitry Andric  wrote:

> On 17 Aug 2020, at 15:42, O. Hartmann  wrote:
> > 
> > On CURRENT 9not necessarily most recent with LLVM11, but since noon
> > of today it is FreeBSD 13.0-CURRENT #15 r364297: Mon Aug 17
> > 14:39:06 CEST 2020 amd64) I'm faced with some very sticky and nasty
> > micompilations in several essential ports, for instance
> > 
> > ports-mgmt/pkg
> > devel/libunwind
> > devel/binutils
> > 
> > In most cases somewhere in the (parallel) build the process fails
> > with the error
> > 
> > ld: error: duplicate symbol:   
> 
> This is because clang 11 (and gcc 10) now default to -fno-common. The
> rationale is explained pretty well in
> <https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=6271dd984d7f920d4fb17ad37af6a1f8e6b796dc>:
> 
> "GCC currently defaults to -fcommon.  As discussed in the PR, this is
> an ancient C feature which is not conforming with the latest C
> standards.  On many targets this means global variable accesses have
> a codesize and performance penalty. This applies to C code only, C++
> code is not affected by -fcommon.  It is about time to change the
> default."
> 
> A quick fix is to add CFLAGS+=-fcommon to your make.conf, but that is
> rather a big hammer. It is better to add it to just the ports that
> show problems due to duplicated symbols. And ideally, those duplicated
> symbols should be patched out of the ports.
> 
> For example, ports-mgmt/pkg already has such a patch:
> https://github.com/freebsd/pkg/commit/7fbde60c4af4a1a07db7c5c36efbb2a495f7b1a4
> but I have no idea why it is not yet in the ports tree.
> 
> -Dimitry
> 

Thank you for the fast response and thorough explanation.

oh


pgpQ85KuJMPJB.pgp
Description: OpenPGP digital signature


Re: ld: error: duplicate symbol:

2020-08-17 Thread Dimitry Andric
On 17 Aug 2020, at 15:42, O. Hartmann  wrote:
> 
> On CURRENT 9not necessarily most recent with LLVM11, but since noon of today 
> it
> is FreeBSD 13.0-CURRENT #15 r364297: Mon Aug 17 14:39:06 CEST 2020 amd64) I'm
> faced with some very sticky and nasty micompilations in several essential
> ports, for instance
> 
> ports-mgmt/pkg
> devel/libunwind
> devel/binutils
> 
> In most cases somewhere in the (parallel) build the process fails with the 
> error
> 
> ld: error: duplicate symbol: 

This is because clang 11 (and gcc 10) now default to -fno-common. The
rationale is explained pretty well in
<https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=6271dd984d7f920d4fb17ad37af6a1f8e6b796dc>:

"GCC currently defaults to -fcommon.  As discussed in the PR, this is an ancient
C feature which is not conforming with the latest C standards.  On many targets
this means global variable accesses have a codesize and performance penalty.
This applies to C code only, C++ code is not affected by -fcommon.  It is about
time to change the default."

A quick fix is to add CFLAGS+=-fcommon to your make.conf, but that is
rather a big hammer. It is better to add it to just the ports that show
problems due to duplicated symbols. And ideally, those duplicated
symbols should be patched out of the ports.

For example, ports-mgmt/pkg already has such a patch:
https://github.com/freebsd/pkg/commit/7fbde60c4af4a1a07db7c5c36efbb2a495f7b1a4
but I have no idea why it is not yet in the ports tree.

-Dimitry



signature.asc
Description: Message signed with OpenPGP


ld: error: duplicate symbol:

2020-08-17 Thread O. Hartmann
On CURRENT 9not necessarily most recent with LLVM11, but since noon of today it
is FreeBSD 13.0-CURRENT #15 r364297: Mon Aug 17 14:39:06 CEST 2020 amd64) I'm
faced with some very sticky and nasty micompilations in several essential
ports, for instance

ports-mgmt/pkg
devel/libunwind
devel/binutils

In most cases somewhere in the (parallel) build the process fails with the error

ld: error: duplicate symbol: 

As a result, several ports or even the rebuild of the whole installed ports
fail to compile/recompile.

Compiling port devel/binutils, for example, fails with this error message from
linker:

[...]
cc -DHAVE_CONFIG_H -I.  -I. -I./../include -I./../elfcpp
-DLOCALEDIR="\"/usr/local/share/locale\"" -DBINDIR="\"/usr/local/bin\""
-DTOOLBINDIR="\"/usr/local/x86_64-portbld-freebsd13.0/bin\""
-DTOOLLIBDIR="\"/usr/local/x86_64-portbld-freebsd13.0/lib\""  -isystem
/usr/local/include -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -frandom-seed=mremap.o  -pthread -O2
-pipe  -fstack-protector-strong -isystem /usr/local/include
-fno-strict-aliasing  -MT mremap.o -MD -MP -MF .deps/mremap.Tpo -c -o mremap.o
mremap.c mv -f .deps/yyscript.Tpo .deps/yyscript.Po

libtool: link: cc -W -Wall
-Wstrict-prototypes -Wmissing-prototypes -Wshadow -O2 -pipe
-fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing
-fstack-protector-strong -o coffdump coffdump.o coffgrok.o bucomm.o version.o
filemode.o /usr/local/lib/libintl.so -Wl,-rpath -Wl,/usr/local/lib
../bfd/.libs/libbfd.a -L/usr/local/lib -lz ../libiberty/libiberty.a mv -f
.deps/mremap.Tpo .deps/mremap.Po

ld: error: duplicate symbol: program_name
>>> defined at coffdump.c
>>>coffdump.o:(program_name)
>>> defined at bucomm.c
>>>bucomm.o:(.bss+0x0)

What is going wrong here?

Thanks in advance

oh
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


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

2019-06-19 Thread Rainer Hurling
Am 19.06.19 um 21:20 schrieb Bryan Drewery:
> On 6/19/19 11:05 AM, Bryan Drewery wrote:
>> On 6/19/19 11:02 AM, Bryan Drewery wrote:
>>> On 6/16/19 9:33 AM, Warner Losh wrote:
>>>> On Sun, Jun 16, 2019, 9:51 AM Rainer Hurling  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
>>>>
>>>
>>> ~/git/freebsd2/tests/sys/kern # env|grep TEST
>>> MK_TESTS=no
>>>
>>>
>>> Doh. Turns out I've had TESTS disabled in some of my recent build tests
>>> / commits. This is likely my fault.
>>>
>>
>> Yup it is from my r349065.
>>
>> It's an ambiguity between LDADD. and my newly added
>> LDADD..
>>
>> LDADD.libkern_crc32+=   ${SRCTOP}/sys/libkern/x86/crc32_sse42.c
>>
>> So it's added in twice.
>>
>>
> 
> This should be fixed in r349202. Sorry for the trouble.
> 

Many thanks for this fix. It works fine for me on the box with Intel
Core 17-4770, but it fails on AMD Phenom II X6 1090T (both systems
mentioned in the initial mail):


[..

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

2019-06-19 Thread Bryan Drewery
On 6/19/19 11:05 AM, Bryan Drewery wrote:
> On 6/19/19 11:02 AM, Bryan Drewery wrote:
>> On 6/16/19 9:33 AM, Warner Losh wrote:
>>> On Sun, Jun 16, 2019, 9:51 AM Rainer Hurling  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
>>>
>>
>> ~/git/freebsd2/tests/sys/kern # env|grep TEST
>> MK_TESTS=no
>>
>>
>> Doh. Turns out I've had TESTS disabled in some of my recent build tests
>> / commits. This is likely my fault.
>>
> 
> Yup it is from my r349065.
> 
> It's an ambiguity between LDADD. and my newly added
> LDADD..
> 
> LDADD.libkern_crc32+=   ${SRCTOP}/sys/libkern/x86/crc32_sse42.c
> 
> So it's added in twice.
> 
> 

This should be fixed in r349202. Sorry for the trouble.

-- 
Regards,
Bryan Drewery



signature.asc
Description: OpenPGP digital signature


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

2019-06-19 Thread Bryan Drewery
On 6/19/19 11:02 AM, Bryan Drewery wrote:
> On 6/16/19 9:33 AM, Warner Losh wrote:
>> On Sun, Jun 16, 2019, 9:51 AM Rainer Hurling  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
>>
> 
> ~/git/freebsd2/tests/sys/kern # env|grep TEST
> MK_TESTS=no
> 
> 
> Doh. Turns out I've had TESTS disabled in some of my recent build tests
> / commits. This is likely my fault.
> 

Yup it is from my r349065.

It's an ambiguity between LDADD. and my newly added
LDADD..

LDADD.libkern_crc32+=   ${SRCTOP}/sys/libkern/x86/crc32_sse42.c

So it's added in twice.


-- 
Regards,
Bryan Drewery



signature.asc
Description: OpenPGP digital signature


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

2019-06-19 Thread Bryan Drewery
On 6/16/19 9:33 AM, Warner Losh wrote:
> On Sun, Jun 16, 2019, 9:51 AM Rainer Hurling  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
> 

~/git/freebsd2/tests/sys/kern # env|grep TEST
MK_TESTS=no


Doh. Turns out I've had TESTS disabled in some of my recent build tests
/ commits. This is likely my fault.



-- 
Regards,
Bryan Drewery



signature.asc
Description: OpenPGP digital signature


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

2019-06-19 Thread Bryan Drewery
On 6/16/19 8:49 AM, Rainer Hurling 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

Hmm /usr/src/sys/libkern/x86/crc32_sse42.c is listed twice unless I'm
reading it wrong. It's from an LDADD. I'm looking into it a bit more...

> 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.
> 
> Regards,
> Rainer Hurling
> ___
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
> 


-- 
Regards,
Bryan Drewery



signature.asc
Description: OpenPGP digital signature


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

2019-06-16 Thread Trond Endrestøl
On Sun, 16 Jun 2019 17:49+0200, Rainer Hurling wrote:

> 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.

No. This also happens on Intel Core i7 960.

I will retry buildworld using -D WITHOUT_TESTS.

-- 
Trond.
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


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

2019-06-16 Thread Rainer Hurling
Am 16.06.19 um 18:33 schrieb Warner Losh:
> 
> 
> On Sun, Jun 16, 2019, 9:51 AM Rainer Hurling  <mailto:rhur...@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
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


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

2019-06-16 Thread Warner Losh
On Sun, Jun 16, 2019, 9:51 AM Rainer Hurling  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
> ___
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
>
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


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

2019-06-16 Thread Rainer Hurling
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.

Regards,
Rainer Hurling
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"