On Mon, Sep 14, 2020 at 06:46:52PM +0200, Dimitry Andric wrote:
> On 13 Sep 2020, at 20:56, Dimitry Andric <d...@freebsd.org> wrote:
> > 
> > On 12 Sep 2020, at 23:00, Ronald Klop <ronald-li...@klop.ws> wrote:
> >> 
> >> On Sat, 12 Sep 2020 18:28:03 +0200, Dimitry Andric <d...@freebsd.org> 
> >> wrote:
> >>> On 12 Sep 2020, at 17:43, Ronald Klop <ronald-li...@klop.ws> 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.
> ...
> > 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.
> 
> In the end it turns out that the problems is caused by setting CC (and CXX, 
> etc) in make.conf. This has the unfortunate side-effect that any XCFLAGS are 
> overridden during the world stages, such that the all-important --sysroot 
> flags is not added.
> 
> In short, never set CC, CXX, CPP or LD in your make.conf or build 
> environment, but use XCC, XCXX, XCPP and XLD instead. Better yet, install one 
> of the llvm packages from the devel category, and set CROSS_TOOLCHAIN.
> 
> Keep an eye on https://wiki.freebsd.org/ExternalToolchain, which still has a 
> little bit of outdated information, but is hopefully going to be updated soon.

I've made some modest updates to this page to reflect building with
modern LLVM ports.

-- Brooks

Attachment: signature.asc
Description: PGP signature

Reply via email to