Re: compiling with ports llvm11 breaks on mman.h: struct shm_larg epage_conf

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sat, 12 Sep 2020 18:28:03 +0200
On 12 Sep 2020, at 17:43, Ronald Klop <ronald-lists_at_klop.ws> wrote:
> 
> Because I'm tired of hours of compilation of llvm/clang I'm testing compiling FreeBSD with llvm11 from a pkg.
> 
> Setup a jail with 13-CURRENT. Compilation of the installed version went fine.
> Today I svn up'd and compiled and compilation broke.
> 
> /lib/clang/11.0.0/include -fstack-protector-strong -Wsystem-headers -Werror -Wall -[29/1822]
> t-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-unused-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/li
> b/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
> /usr/src/lib/libc/sys/shm_open.c:64:28: error: variable has incomplete type 'struct shm_larg
> epage_conf'
>        struct shm_largepage_conf slc;
>                                  ^
> /usr/src/lib/libc/sys/shm_open.c:64:9: note: forward declaration of 'struct shm_largepage_co
> nf'
>        struct shm_largepage_conf slc;
> 
> 
> I can see the difference between /usr/include/sys/mman.h and /usr/src/sys/sys/mman.h is exactly about these symbols.
> Why is the base compiler using the latter and ports llvm11 the former?
> 
> Configuration of my src.conf and make.conf is described in https://blog.klop.ws/2020/08/waiting-for-clang-forever-and-ever.html .
> 
> 
> Do I miss some directive about system header files?

During what stage is this, and is it an incremental (e.g. -DNO_CLEAN)
build? With this kind of failure, it is usually required to be able to
inspect the full buildworld log, and the exact command line you used to
invoke make. If you can, upload that somewhere so it can be viewed.

That said, it looks like something is messing up your include order,
as during a very early stage in buildword, the sys/sys/ headers are
symlinked to objdir/tmp/legacy/usr/include/sys/. This should include
the mman.h header.

-Dimitry


Received on Sat Sep 12 2020 - 14:28:15 UTC

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