On 12 Sep 2020, at 23:00, Ronald Klop <[email protected]> wrote: > > On Sat, 12 Sep 2020 18:28:03 +0200, Dimitry Andric <[email protected]> wrote: >> On 12 Sep 2020, at 17:43, Ronald Klop <[email protected]> wrote: >>> >>> Because I'm tired of hours of compilation of llvm/clang I'm testing >>> compiling FreeBSD with llvm11 from a pkg. ... It is during the building world stage and happens with and without NO_CLEAN. > Full command: > /usr/local/bin/clang11 -O2 -pipe -fno-common -DNO__SCCSID -DNO__RCSID > -I/usr/src/lib/libc > /include -I/usr/src/include -I/usr/src/lib/libc/amd64 -DNLS > -D__DBINTERFACE_PRIVATE -I/usr/ > src/contrib/gdtoa -I/usr/src/contrib/libc-vis -DINET6 > -I/usr/obj/usr/src/amd64.amd64/lib/lib > c -I/usr/src/lib/libc/resolv -D_ACL_PRIVATE -DPOSIX_MISTAKE > -I/usr/src/lib/libmd -I/usr/src/ > contrib/jemalloc/include -DMALLOC_PRODUCTION > -I/usr/src/contrib/tzcode/stdtime -I/usr/src/li > b/libc/stdtime -I/usr/src/lib/libc/locale -DBROKEN_DES -DPORTMAP > -DDES_BUILTIN -I/usr/src/li > b/libc/rpc -DWANT_HYPERV -DYP -DNS_CACHING -DSYMBOL_VERSIONING -g -MD > -MF.depend.shm_open.o > -MTshm_open.o -std=gnu99 -Wno-format-zero-length -nobuiltininc -idirafter > /usr/local/llvm11 > /lib/clang/11.0.0/include -fstack-protector-strong -Wsystem-headers -Werror > -Wall -Wno-format-y2k -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-un > used-function -Wno-enum-conversion -Wno-unused-local-typedef > -Wno-address-of-packed-member - > Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -Qunused-arguments > -I/usr/src/lib/libutil -I/usr/src/lib/msun/amd64 -I/usr/src/lib/msun/x86 > -I/usr/src/lib/msun/src -c /usr/ > src/lib/libc/sys/shm_open.c -o shm_open.o
After a pretty long build of the llvm11 port, I can at least reproduce your
error. It looks like the problem is that clang11 does not get any --sysroot
parameter passed.
If I install the devel/xtoolchain-llvm90 port and use that, I get a slightly
different command line. Here's both of them, in diff --side-by-side format:
/usr/local/bin/clang11 |
/usr/local/bin/clang90
> -target
x86_64-unknown-freebsd13.0
>
--sysroot=/usr/obj/usr/src/amd64.amd64/tmp
> -B/var/empty
-O2 -O2
-pipe -pipe
-fno-common -fno-common
-DNO__SCCSID -DNO__SCCSID
-DNO__RCSID -DNO__RCSID
-I/usr/src/lib/libc/include
-I/usr/src/lib/libc/include
-I/usr/src/include -I/usr/src/include
-I/usr/src/lib/libc/amd64
-I/usr/src/lib/libc/amd64
-DNLS -DNLS
-D__DBINTERFACE_PRIVATE
-D__DBINTERFACE_PRIVATE
-I/usr/src/contrib/gdtoa
-I/usr/src/contrib/gdtoa
-I/usr/src/contrib/libc-vis
-I/usr/src/contrib/libc-vis
-DINET6 -DINET6
-I/usr/obj/usr/src/amd64.amd64/lib/libc
-I/usr/obj/usr/src/amd64.amd64/lib/libc
-I/usr/src/lib/libc/resolv
-I/usr/src/lib/libc/resolv
-D_ACL_PRIVATE -D_ACL_PRIVATE
-DPOSIX_MISTAKE -DPOSIX_MISTAKE
-I/usr/src/lib/libmd -I/usr/src/lib/libmd
-I/usr/src/contrib/jemalloc/include
-I/usr/src/contrib/jemalloc/include
-I/usr/src/contrib/tzcode/stdtime
-I/usr/src/contrib/tzcode/stdtime
-I/usr/src/lib/libc/stdtime
-I/usr/src/lib/libc/stdtime
-I/usr/src/lib/libc/locale
-I/usr/src/lib/libc/locale
-DBROKEN_DES -DBROKEN_DES
-DPORTMAP -DPORTMAP
-DDES_BUILTIN -DDES_BUILTIN
-I/usr/src/lib/libc/rpc
-I/usr/src/lib/libc/rpc
-DWANT_HYPERV -DWANT_HYPERV
-DYP -DYP
-DNS_CACHING -DNS_CACHING
-DSYMBOL_VERSIONING -DSYMBOL_VERSIONING
-g -g
-MD -MD
-MF.depend.shm_open.o
-MF.depend.shm_open.o
-MTshm_open.o -MTshm_open.o
-std=gnu99 -std=gnu99
-Wno-format-zero-length
-Wno-format-zero-length
-nobuiltininc -nobuiltininc
-idirafter /usr/local/llvm11/lib/clang/11.0.0/include | -idirafter
/usr/local/llvm90/lib/clang/9.0.1/include
-fstack-protector-strong
-fstack-protector-strong
-Wsystem-headers -Wsystem-headers
-Werror -Werror
-Wall -Wall
-Wno-format-y2k -Wno-format-y2k
-Wno-uninitialized -Wno-uninitialized
-Wno-pointer-sign -Wno-pointer-sign
-Wno-empty-body -Wno-empty-body
-Wno-string-plus-int -Wno-string-plus-int
-Wno-unused-const-variable
-Wno-unused-const-variable
-Wno-tautological-compare
-Wno-tautological-compare
-Wno-unused-value -Wno-unused-value
-Wno-parentheses-equality
-Wno-parentheses-equality
-Wno-unused-function -Wno-unused-function
-Wno-enum-conversion -Wno-enum-conversion
-Wno-unused-local-typedef
-Wno-unused-local-typedef
-Wno-address-of-packed-member
-Wno-address-of-packed-member
-Wno-switch -Wno-switch
-Wno-switch-enum -Wno-switch-enum
-Wno-knr-promoted-parameter
-Wno-knr-promoted-parameter
-Qunused-arguments -Qunused-arguments
-I/usr/src/lib/libutil
-I/usr/src/lib/libutil
-I/usr/src/lib/msun/amd64
-I/usr/src/lib/msun/amd64
-I/usr/src/lib/msun/x86
-I/usr/src/lib/msun/x86
-I/usr/src/lib/msun/src
-I/usr/src/lib/msun/src
-c /usr/src/lib/libc/sys/shm_open.c -c
/usr/src/lib/libc/sys/shm_open.c
-o shm_open.o -o shm_open.o
So except for the expected difference in the -idirafter option that points to
the clang internal headers, the main problem is that for some reason, clang11
does not get the -target and --sysroot options passed.
-Dimitry
signature.asc
Description: Message signed with OpenPGP
