Re: Has anyone tried to build QEMU from ports lately?

From: Warner Losh <imp_at_bsdimp.com>
Date: Mon, 10 Oct 2022 16:56:23 UTC
I know what's causing this problem. I'll resolve.

tl/dr: _pv_entry.h depends on sys/param.h being included before its use.

Warner

On Mon, Oct 10, 2022 at 4:38 AM Dennis Clarke <dclarke@blastwave.org> wrote:

>
> On :
>
> phobos#
> phobos# uname -apKU
> FreeBSD phobos 14.0-CURRENT FreeBSD 14.0-CURRENT #14
> main-n258340-497cdf9673e: Sun Oct  2 09:51:14 GMT 2022
> root@phobos:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 amd64 1400072
> 1400072
> phobos#
>
>
> Seems to fail in a pretty consistent fashion :
>
> .
> .
> .
> [5633/6772] Compiling C object libqemu-arm-bsd-user.fa.p/bsd-user_mmap.c.o
> [5634/6772] Compiling C object
> libqemu-arm-bsd-user.fa.p/bsd-user_signal.c.o
> FAILED: libqemu-arm-bsd-user.fa.p/bsd-user_signal.c.o
> cc -m64 -mcx16 -Ilibqemu-arm-bsd-user.fa.p -I. -I.. -Itarget/arm
> -I../target/arm -I../common-user/host/x86_64 -I../bsd-user/include
> -Ibsd-user/freebsd -I../bsd-user/freebsd -I../bsd-user/host/x86_64
> -Ibsd-user -I../bsd-user -I../bsd-user/arm -Iqapi -Itrace -Iui
> -Iui/shader -I/usr/local/include/capstone
> -I/usr/ports/emulators/qemu-devel/work/qemu-09ed077d7fae5f825e18ff9a2004dcdd1b165edb
>
> -I/usr/local/include -I/usr/local/include/glib-2.0
> -I/usr/local/lib/glib-2.0/include -fcolor-diagnostics -Wall
> -Winvalid-pch -std=gnu11 -O0 -g -iquote . -iquote
> /usr/ports/emulators/qemu-devel/work/qemu-09ed077d7fae5f825e18ff9a2004dcdd1b165edb
>
> -iquote
> /usr/ports/emulators/qemu-devel/work/qemu-09ed077d7fae5f825e18ff9a2004dcdd1b165edb/include
>
> -iquote
> /usr/ports/emulators/qemu-devel/work/qemu-09ed077d7fae5f825e18ff9a2004dcdd1b165edb/tcg/i386
>
> -pthread -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings
> -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv
> -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k
> -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs
> -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides
> -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int
> -Wno-typedef-redefinition -Wno-tautological-type-limit-compare
> -Wno-psabi -fstack-protector-strong -O2 -pipe -fstack-protector-strong
> -fno-strict-aliasing '-DPREFIX=\""/usr/local\""' -fPIE -DNEED_CPU_H
> '-DCONFIG_TARGET="arm-bsd-user-config-target.h"'
> '-DCONFIG_DEVICES="arm-bsd-user-config-devices.h"' -MD -MQ
> libqemu-arm-bsd-user.fa.p/bsd-user_signal.c.o -MF
> libqemu-arm-bsd-user.fa.p/bsd-user_signal.c.o.d -o
> libqemu-arm-bsd-user.fa.p/bsd-user_signal.c.o -c ../bsd-user/signal.c
> In file included from ../bsd-user/signal.c:27:
> In file included from ../bsd-user/host/x86_64/host-signal.h:14:
> In file included from /usr/include/vm/pmap.h:92:
> /usr/include/machine/pmap.h:452:2: error: fields must have a constant
> size: 'variable length array in structure' extension will never be
> supported
>          PV_CHUNK_HEADER
>          ^
> /usr/include/machine/pmap.h:448:12: note: expanded from macro
> 'PV_CHUNK_HEADER'
>          uint64_t                pc_map[_NPCM];  /* bitmap; 1 = free */  \
>                                  ^
> /usr/include/machine/pmap.h:456:2: error: fields must have a constant
> size: 'variable length array in structure' extension will never be
> supported
>          PV_CHUNK_HEADER
>          ^
> /usr/include/machine/pmap.h:448:12: note: expanded from macro
> 'PV_CHUNK_HEADER'
>          uint64_t                pc_map[_NPCM];  /* bitmap; 1 = free */  \
>                                  ^
> 2 errors generated.
> ninja: build stopped: subcommand failed.
> gmake[3]: *** [Makefile:162: run-ninja] Error 1
> gmake[3]: Leaving directory
>
> '/usr/ports/emulators/qemu-devel/work/qemu-09ed077d7fae5f825e18ff9a2004dcdd1b165edb/build'
> gmake[2]: *** [GNUmakefile:11: all] Error 2
> gmake[2]: Leaving directory
>
> '/usr/ports/emulators/qemu-devel/work/qemu-09ed077d7fae5f825e18ff9a2004dcdd1b165edb'
> *** Error code 2
>
> Stop.
> make[1]: stopped in /usr/ports/emulators/qemu-devel
> *** Error code 1
>
> Stop.
> make: stopped in /usr/ports/emulators/qemu-devel
> phobos#
> phobos# pwd
> /usr/ports/emulators/qemu-devel
> phobos#
>
> Possibly a problem with -linotify or who knows what ?
>
> Also see :
>
>    https://lists.nongnu.org/archive/html/qemu-devel/2022-10/msg01280.html
>
> In any case, something feels wrong here.
>
>
> --
> Dennis Clarke
> RISC-V/SPARC/PPC/ARM/CISC
> UNIX and Linux spoken
> GreyBeard and suspenders optional
>
>