www/chromium: build fails on stable/12 (amd64) - both poudriere and portmaster

From: David Wolfskill <david_at_catwhisker.org>
Date: Sun, 26 Feb 2023 02:07:12 UTC
So... I tried several times to submit this bug via bugzilla, and each
time was told (after about a minute of waiting):

	Secure Connection Failed

	An error occurred during a connection to bugs.freebsd.org.

	    The page you are trying to view cannot be shown because the
	authenticity of the received data could not be verified.
	    Please contact the website owners to inform them of this problem.

	Learn moreā€¦


Anyway:  Yeah.  I couldn't build www/chromium under stable/12 at
stable/12-n235968-668a32ab231d, either via poudriere (on a 256GB build
machine) or via portmaster (on my laptop).

I have placed a copy of the poudriere log in
https://www.catwhisker.org/~david/FreeBSD/ports/chromium/12/.

The salient part of that shows:

...
[ 28% 15291/52970] python3 ../../third_party/wayland/wayland_scanner_wrapper.py third_party/wayland/src/protocol/wayland.xml --src-root ../../ --root-gen-dir gen --generator-type protocol-server --cmd ./wayland_scanner
[ 28% 15292/52970] cc -MMD -MF obj/third_party/wayland/wayland_cursor/os-compatibility.o.d -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../.. -Igen -I../../third_party/wayland/include -I../../third_party/wayland/include/src -I../../third_party/wayland/src/cursor -I../../third_party/wayland/src/egl -I../../third_party/wayland/src/src -I/usr/local/include/libepoll-shim -Igen/third_party/wayland/src/protocol -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -m64 -msse3 -Xclang -fdebug-compilation-dir -Xclang . -no-canonical-prefixes -ftrivial-auto-var-init=pattern -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-omit-frame-pointer -g0 -fprofile-use=../../chrome/build/pgo_profiles/chrome-linux-5481-1675874756-8f0cc1ffc14aaa364c4901d505c8293825229435.profdata -Wno-profile-instr-unprofiled -Wno-profile-instr-out-of-date -Wno-backend-plugin -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wall -Wno-unused-variable -Wno-c++11-narrowing -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wno-macro-redefined -std=c11 -c ../../third_party/wayland/src/cursor/os-compatibility.c -o obj/third_party/wayland/wayland_cursor/os-compatibility.o
FAILED: obj/third_party/wayland/wayland_cursor/os-compatibility.o
cc -MMD -MF obj/third_party/wayland/wayland_cursor/os-compatibility.o.d -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../.. -Igen -I../../third_party/wayland/include -I../../third_party/wayland/include/src -I../../third_party/wayland/src/cursor -I../../third_party/wayland/src/egl -I../../third_party/wayland/src/src -I/usr/local/include/libepoll-shim -Igen/third_party/wayland/src/protocol -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -m64 -msse3 -Xclang -fdebug-compilation-dir -Xclang . -no-canonical-prefixes -ftrivial-auto-var-init=pattern -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-omit-frame-pointer -g0 -fprofile-use=../../chrome/build/pgo_profiles/chrome-linux-5481-1675874756-8f0cc1ffc14aaa364c4901d505c8293825229435.profdata -Wno-profile-instr-unprofiled -Wno-profile-instr-out-of-date -Wno-backend-plugin -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wall -Wno-unused-variable -Wno-c++11-narrowing -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wno-macro-redefined -std=c11 -c ../../third_party/wayland/src/cursor/os-compatibility.c -o obj/third_party/wayland/wayland_cursor/os-compatibility.o
../../third_party/wayland/src/cursor/os-compatibility.c:127:7: warning: implicit declaration of function 'memfd_create' is invalid in C99 [-Wimplicit-function-declaration]
        fd = memfd_create("wayland-cursor", MFD_CLOEXEC | MFD_ALLOW_SEALING);
             ^
../../third_party/wayland/src/cursor/os-compatibility.c:127:38: error: use of undeclared identifier 'MFD_CLOEXEC'
        fd = memfd_create("wayland-cursor", MFD_CLOEXEC | MFD_ALLOW_SEALING);
                                            ^
../../third_party/wayland/src/cursor/os-compatibility.c:127:52: error: use of undeclared identifier 'MFD_ALLOW_SEALING'
        fd = memfd_create("wayland-cursor", MFD_CLOEXEC | MFD_ALLOW_SEALING);
                                                          ^
../../third_party/wayland/src/cursor/os-compatibility.c:135:13: error: use of undeclared identifier 'F_ADD_SEALS'
                fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_SEAL);
                          ^
../../third_party/wayland/src/cursor/os-compatibility.c:135:26: error: use of undeclared identifier 'F_SEAL_SHRINK'
                fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_SEAL);
                                       ^
../../third_party/wayland/src/cursor/os-compatibility.c:135:42: error: use of undeclared identifier 'F_SEAL_SEAL'
                fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_SEAL);
                                                       ^
1 warning and 5 errors generated.



The build succeeded under stable/13, running
stable/13-n254681-44a6088278ea.

The (MFD_*) symbols in question appear to be defined in /sys/sys/mman.h
for stable/13, but are not present in the stable/12 version of the
file.

Any suggestions for a fix (or circumvention)?  Perhaps the definitions
in question could be MFCed to stable/12?

Peace,
david
-- 
David H. Wolfskill                              david@catwhisker.org
So now the General Secretary of the Chinese Communist Party associates with
the imperialist running dog, Vladimir Putin.  Will wonders never cease!

See https://www.catwhisker.org/~david/publickey.gpg for my public key.