Date: Sun, 10 Oct 2021 05:04:57 GMT From: pkg-fallout@FreeBSD.org To: pkg-fallout@FreeBSD.org Subject: [package - 130releng-riscv64-quarterly][sysutils/mstflint] Failed for mstflint-4.16.0.1 in build Message-ID: <202110100504.19A54vcg031941@beefy7.nyi.freebsd.org>
next in thread | raw e-mail | index | archive | help
You are receiving this mail as a port that you maintain is failing to build on the FreeBSD package build server. Please investigate the failure and submit a PR to fix build. Maintainer: hselasky@FreeBSD.org Log URL: http://beefy7.nyi.freebsd.org/data/130releng-riscv64-quarterly/5c56f2c3d83d/logs/mstflint-4.16.0.1.log Build URL: http://beefy7.nyi.freebsd.org/build.html?mastername=130releng-riscv64-quarterly&build=5c56f2c3d83d Log: =>> Building sysutils/mstflint build started at Sun Oct 10 05:02:54 UTC 2021 port directory: /usr/ports/sysutils/mstflint package name: mstflint-4.16.0.1 building for: FreeBSD 130releng-riscv64-quarterly-job-13 13.0-RELEASE-p4 FreeBSD 13.0-RELEASE-p4 1300139 riscv maintained by: hselasky@FreeBSD.org Makefile ident: Poudriere version: 3.2.8-21-g883afb07 Host OSVERSION: 1400008 Jail OSVERSION: 1300139 Job Id: 13 ---Begin Environment--- SHELL=/bin/csh UNAME_p=riscv64 UNAME_m=riscv ABI_FILE=/usr/lib/crt1.o OSVERSION=1300139 UNAME_v=FreeBSD 13.0-RELEASE-p4 1300139 UNAME_r=13.0-RELEASE-p4 BLOCKSIZE=K MAIL=/var/mail/root MM_CHARSET=UTF-8 LANG=C.UTF-8 STATUS=1 HOME=/root PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin LOCALBASE=/usr/local QEMU_EMULATING=1 USER=root LIBEXECPREFIX=/usr/local/libexec/poudriere POUDRIERE_VERSION=3.2.8-21-g883afb07 MASTERMNT=/usr/local/poudriere/data/.m/130releng-riscv64-quarterly/ref POUDRIERE_BUILD_TYPE=bulk PACKAGE_BUILDING=yes SAVED_TERM= PWD=/usr/local/poudriere/data/.m/130releng-riscv64-quarterly/ref/.p/pool P_PORTS_FEATURES=FLAVORS SELECTED_OPTIONS MASTERNAME=130releng-riscv64-quarterly SCRIPTPREFIX=/usr/local/share/poudriere OLDPWD=/usr/local/poudriere/data/.m/130releng-riscv64-quarterly/ref/.p SCRIPTPATH=/usr/local/share/poudriere/bulk.sh POUDRIEREPATH=/usr/local/bin/poudriere ---End Environment--- ---Begin Poudriere Port Flags/Env--- PORT_FLAGS= PKGENV= FLAVOR= DEPENDS_ARGS= MAKE_ARGS= ---End Poudriere Port Flags/Env--- ---Begin OPTIONS List--- ===> The following configuration options are available for mstflint-4.16.0.1: ADAB=off: Build with mstreg and mstlink FWMANAGER=off: Build with mstfwmanager and mstarchive STATIC=off: Static binary (disable curl support) ===> Use 'make config' to modify these settings ---End OPTIONS List--- --MAINTAINER-- hselasky@FreeBSD.org --End MAINTAINER-- --CONFIGURE_ARGS-- --prefix=/usr/local ${_LATE_CONFIGURE_ARGS} --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- MAKE=gmake PKG_CONFIG=pkgconf XDG_DATA_HOME=/wrkdirs/usr/ports/sysutils/mstflint/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/sysutils/mstflint/work HOME=/wrkdirs/usr/ports/sysutils/mstflint/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/sysutils/mstflint/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin SHELL=/bin/sh CONFIG_SHELL=/bin/sh CONFIG_SITE=/usr/ports/Templates/config.site lt_cv_sys_max_cmd_len=524288 --End CONFIGURE_ENV-- --MAKE_ENV-- OPENSSLBASE=/usr OPENSSLDIR=/etc/ssl OPENSSLINC=/usr/include OPENSSLLIB=/usr/lib XDG_DATA_HOME=/wrkdirs/usr/ports/sysutils/mstflint/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/sysutils/mstflint/work HOME=/wrkdirs/usr/ports/sysutils/mstflint/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/sysutils/mstflint/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin NO_PIE=yes MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local LOCALBASE=/usr/local CC="/nxb-bin/usr/bin/cc" CFLAGS="-O2 -pipe -march=rv64imafdc -mabi=lp64d -fstack-protector-strong -fno-strict-aliasing " CPP="/nxb-bin/usr/bin/cpp" CPPFLAGS="-I/usr/local/include" LDFLAGS=" -L/usr/local/lib -fstack-protector-strong " LIBS="" CXX="/nxb-bin/usr/bin/c++" CXXFLAGS="-O2 -pipe -march=rv64imafdc -mabi=lp64d -fstack-protector-strong -fno-strict-aliasing " MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="in stall -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" --End MAKE_ENV-- --PLIST_SUB-- ADAB="@comment " NO_ADAB="" FWMANAGER="@comment " NO_FWMANAGER="" STATIC="@comment " NO_STATIC="" OSREL=13.0 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/mstflint" EXAMPLESDIR="share/examples/mstflint" DATADIR="share/mstflint" WWWDIR="www/mstflint" ETCDIR="etc/mstflint" --End PLIST_SUB-- --SUB_LIST-- ADAB="@comment " NO_ADAB="" FWMANAGER="@comment " NO_FWMANAGER="" STATIC="@comment " NO_STATIC="" PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/mstflint DOCSDIR=/usr/local/share/doc/mstflint EXAMPLESDIR=/usr/local/share/examples/mstflint WWWDIR=/usr/local/www/mstflint ETCDIR=/usr/local/etc/mstflint --End SUB_LIST-- ---Begin make.conf--- .sinclude "/etc/make.nxb.conf" USE_PACKAGE_DEPENDS=yes BATCH=yes WRKDIRPREFIX=/wrkdirs PORTSDIR=/usr/ports PACKAGES=/packages DISTDIR=/distfiles PACKAGE_BUILDING=yes PACKAGE_BUILDING_FLAVORS=yes MACHINE=riscv MACHINE_ARCH=riscv64 ARCH=${MACHINE_ARCH} #### /usr/local/etc/poudriere.d/make.conf #### # XXX: We really need this but cannot use it while 'make checksum' does not # try the next mirror on checksum failure. It currently retries the same # failed mirror and then fails rather then trying another. It *does* # try the next if the size is mismatched though. #MASTER_SITE_FREEBSD=yes # Build ALLOW_MAKE_JOBS_PACKAGES with 2 jobs MAKE_JOBS_NUMBER=2 #### /usr/ports/Mk/Scripts/ports_env.sh #### _CCVERSION_9d218390=FreeBSD clang version 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe) Target: riscv64-unknown-freebsd13.0 Thread model: posix InstalledDir: /nxb-bin/usr/bin _ALTCCVERSION_9d218390=none _CXXINTERNAL_9c45a5b1=FreeBSD clang version 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe) Target: riscv64-unknown-freebsd13.0 Thread model: posix InstalledDir: /nxb-bin/usr/bin "/nxb-bin/usr/bin/ld" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld-elf.so.1" "--enable-new-dtags" "-m" "elf64lriscv" "-o" "a.out" "/usr/lib/crt1.o" "/usr/lib/crti.o" "/usr/lib/crtbegin.o" "-L/usr/lib" "/dev/null" "-lc++" "-lm" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "/usr/lib/crtend.o" "/usr/lib/crtn.o" CC_OUTPUT_9d218390_58173849=yes CC_OUTPUT_9d218390_9bdba57c=yes CC_OUTPUT_9d218390_6a4fe7f5=yes CC_OUTPUT_9d218390_6bcac02b=yes CC_OUTPUT_9d218390_67d20829=yes CC_OUTPUT_9d218390_bfa62e83=yes CC_OUTPUT_9d218390_f0b4d593=yes CC_OUTPUT_9d218390_308abb44=yes CC_OUTPUT_9d218390_f00456e5=yes CC_OUTPUT_9d218390_65ad290d=yes CC_OUTPUT_9d218390_f2776b26=yes CC_OUTPUT_9d218390_b2657cc3=yes CC_OUTPUT_9d218390_380987f7=yes CC_OUTPUT_9d218390_160933ec=yes CC_OUTPUT_9d218390_fb62803b=yes _OBJC_CCVERSION_9d218390=FreeBSD clang version 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe) Target: riscv64-unknown-freebsd13.0 Thread model: posix InstalledDir: /nxb-bin/usr/bin _OBJC_ALTCCVERSION_9d218390=none ARCH=riscv64 OPSYS=FreeBSD _OSRELEASE=13.0-RELEASE-p4 OSREL=13.0 OSVERSION=1300139 PYTHONBASE=/usr/local CONFIGURE_MAX_CMD_LEN=524288 HAVE_PORTS_ENV=1 #### Misc Poudriere #### GID=0 UID=0 DISABLE_MAKE_JOBS=poudriere ---End make.conf--- ---Begin make.nxb.conf--- CC=/nxb-bin/usr/bin/cc CPP=/nxb-bin/usr/bin/cpp CXX=/nxb-bin/usr/bin/c++ NM=/nxb-bin/usr/bin/nm LD=/nxb-bin/usr/bin/ld OBJCOPY=/nxb-bin/usr/bin/objcopy SIZE=/nxb-bin/usr/bin/size STRIPBIN=/nxb-bin/usr/bin/strip SED=/nxb-bin/usr/bin/sed RANLIB=/nxb-bin/usr/bin/ranlib YACC=/nxb-bin/usr/bin/yacc MAKE=/nxb-bin/usr/bin/make STRINGS=/nxb-bin/usr/bin/strings AWK=/nxb-bin/usr/bin/awk FLEX=/nxb-bin/usr/bin/flex ---End make.nxb.conf--- --Resource limits-- cpu time (seconds, -t) unlimited file size (512-blocks, -f) unlimited data seg size (kbytes, -d) 33554432 stack size (kbytes, -s) 524288 core file size (512-blocks, -c) unlimited max memory size (kbytes, -m) unlimited locked memory (kbytes, -l) unlimited max user processes (-u) 89999 open files (-n) 1024 virtual mem size (kbytes, -v) unlimited swap limit (kbytes, -w) unlimited socket buffer size (bytes, -b) unlimited pseudo-terminals (-p) unlimited kqueues (-k) unlimited umtx shared locks (-o) unlimited --End resource limits-- =======================<phase: check-sanity >============================ ===> License BSD2CLAUSE GPLv2 accepted by the user =========================================================================== =======================<phase: pkg-depends >============================ ===> mstflint-4.16.0.1 depends on file: /usr/local/sbin/pkg - not found ===> Installing existing package /packages/All/pkg-1.17.2.pkg [130releng-riscv64-quarterly-job-13] Installing pkg-1.17.2... [130releng-riscv64-quarterly-job-13] Extracting pkg-1.17.2: .......... done ===> mstflint-4.16.0.1 depends on file: /usr/local/sbin/pkg - found ===> Returning to build of mstflint-4.16.0.1 =========================================================================== =======================<phase: fetch-depends >============================ =========================================================================== =======================<phase: fetch >============================ ===> License BSD2CLAUSE GPLv2 accepted by the user ===> Fetching all distfiles required by mstflint-4.16.0.1 for building =========================================================================== =======================<phase: checksum >============================ ===> License BSD2CLAUSE GPLv2 accepted by the user ===> Fetching all distfiles required by mstflint-4.16.0.1 for building => SHA256 Checksum OK for Mellanox-mstflint-v4.16.0-1_GH0.tar.gz. =========================================================================== =======================<phase: extract-depends>============================ =========================================================================== =======================<phase: extract >============================ <snip> checking whether /nxb-bin/usr/bin/cc understands -c and -o together... yes checking whether gmake supports the include directive... yes (GNU style) checking dependency style of /nxb-bin/usr/bin/cc... gcc3 checking whether we are using the GNU C++ compiler... yes checking whether /nxb-bin/usr/bin/c++ accepts -g... yes checking dependency style of /nxb-bin/usr/bin/c++... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking build system type... riscv64-portbld-freebsd13.0 checking host system type... riscv64-portbld-freebsd13.0 checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... (cached) /usr/bin/egrep checking for fgrep... (cached) /usr/bin/fgrep checking for ld used by /nxb-bin/usr/bin/cc... /nxb-bin/usr/bin/ld checking if the linker (/nxb-bin/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm checking the name lister (/usr/bin/nm) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... (cached) 524288 checking how to convert riscv64-portbld-freebsd13.0 file names to riscv64-portbld-freebsd13.0 format... func_convert_file_noop checking how to convert riscv64-portbld-freebsd13.0 file names to toolchain format... func_convert_file_noop checking for /nxb-bin/usr/bin/ld option to reload object files... -r checking for objdump... no checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for archiver @FILE support... no checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm output from /nxb-bin/usr/bin/cc object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking how to run the C preprocessor... /nxb-bin/usr/bin/cpp checking for ANSI C header files... (cached) yes checking for sys/types.h... (cached) yes checking for sys/stat.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for memory.h... (cached) yes checking for strings.h... (cached) yes checking for inttypes.h... (cached) yes checking for stdint.h... (cached) yes checking for unistd.h... (cached) yes checking for dlfcn.h... (cached) yes checking for objdir... .libs checking if /nxb-bin/usr/bin/cc supports -fno-rtti -fno-exceptions... yes checking for /nxb-bin/usr/bin/cc option to produce PIC... -fPIC -DPIC checking if /nxb-bin/usr/bin/cc PIC flag -fPIC -DPIC works... yes checking if /nxb-bin/usr/bin/cc static flag -static works... yes checking if /nxb-bin/usr/bin/cc supports -c -o file.o... yes checking if /nxb-bin/usr/bin/cc supports -c -o file.o... (cached) yes checking whether the /nxb-bin/usr/bin/cc linker (/nxb-bin/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... freebsd13.0 ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking how to run the C++ preprocessor... /nxb-bin/usr/bin/c++ -E checking for ld used by /nxb-bin/usr/bin/c++... /nxb-bin/usr/bin/ld checking if the linker (/nxb-bin/usr/bin/ld) is GNU ld... yes checking whether the /nxb-bin/usr/bin/c++ linker (/nxb-bin/usr/bin/ld) supports shared libraries... yes checking for /nxb-bin/usr/bin/c++ option to produce PIC... -fPIC -DPIC checking if /nxb-bin/usr/bin/c++ PIC flag -fPIC -DPIC works... yes checking if /nxb-bin/usr/bin/c++ static flag -static works... yes checking if /nxb-bin/usr/bin/c++ supports -c -o file.o... yes checking if /nxb-bin/usr/bin/c++ supports -c -o file.o... (cached) yes checking whether the /nxb-bin/usr/bin/c++ linker (/nxb-bin/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... freebsd13.0 ld.so checking how to hardcode library paths into programs... immediate configure: FreeBSD Build checking termios.h usability... yes checking termios.h presence... yes checking for termios.h... yes checking --enable-dc argument... yes checking for zlib.h... (cached) yes checking for uncompress in -lz... yes checking --enable-fw-mgr argument... no checking --enable-adb-generic-tools argument... no checking --enable-xml2 argument... no checking --enable-inband argument... no checking --enable-cs argument... no checking openssl argument... yes checking openssl/sha.h usability... yes checking openssl/sha.h presence... yes checking for openssl/sha.h... yes checking openssl/rsa.h usability... yes checking openssl/rsa.h presence... yes checking for openssl/rsa.h... yes checking openssl/pem.h usability... yes checking openssl/pem.h presence... yes checking for openssl/pem.h... yes checking openssl/bio.h usability... yes checking openssl/bio.h presence... yes checking for openssl/bio.h... yes checking openssl/md5.h usability... yes checking openssl/md5.h presence... yes checking for openssl/md5.h... yes checking --enable-all-static argument... no checking iniparser.h usability... no checking iniparser.h presence... no checking for iniparser.h... no checking pkg-config is at least version 0.9.0... yes checking for JSON... no checking for library containing mupCreateVar... no checking for library containing sqlite3_initialize... no checking whether C compiler accepts -Wno-format-overflow... no checking whether C compiler accepts -Wno-implicit-fallthrough... yes checking whether C compiler accepts -Wno-cast-function-type... no checking whether C++ compiler accepts -Wno-implicit-fallthrough... yes checking whether C++ compiler accepts -Wno-format-overflow... no checking whether C++ compiler accepts -Wno-cast-function-type... no checking whether C++ compiler accepts -Wno-class-memaccess... no configure: FreeBSD MTCR checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating mstflint.spec config.status: creating tools_crypto/Makefile config.status: creating mlxsign_lib/Makefile config.status: creating mtcr_freebsd/Makefile config.status: creating Makefile config.status: creating common/Makefile config.status: creating mft_utils/Makefile config.status: creating mft_utils/hsmclient/Makefile config.status: creating mtcr_py/Makefile config.status: creating ext_libs/Makefile config.status: creating ext_libs/sqlite/Makefile config.status: creating ext_libs/muparser/Makefile config.status: creating ext_libs/json/Makefile config.status: creating ext_libs/minixz/Makefile config.status: creating dev_mgt/Makefile config.status: creating tools_layouts/Makefile config.status: creating reg_access/Makefile config.status: creating cmdif/Makefile config.status: creating libmfa/Makefile config.status: creating pldmlib/Makefile config.status: creating tools_res_mgmt/Makefile config.status: creating mlxconfig/Makefile config.status: creating mlxconfig/mlxconfig_dbs/Makefile config.status: creating mflash/Makefile config.status: creating mlxfwops/Makefile config.status: creating mlxfwops/lib/Makefile config.status: creating cmdparser/Makefile config.status: creating flint/Makefile config.status: creating small_utils/Makefile config.status: creating small_utils/mlxfwresetlib/Makefile config.status: creating mstdump/Makefile config.status: creating mstdump/crd_lib/Makefile config.status: creating mstdump/crd_main/Makefile config.status: creating mstdump/mstdump_dbs/Makefile config.status: creating mvpd/Makefile config.status: creating fw_comps_mgr/Makefile config.status: creating mad_ifc/Makefile config.status: creating tracers/Makefile config.status: creating tracers/fwtrace/Makefile config.status: creating resourcedump/Makefile config.status: creating resourceparse/Makefile config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands =========================================================================== =======================<phase: build >============================ ===> Building for mstflint-4.16.0.1 gmake[1]: Entering directory '/wrkdirs/usr/ports/sysutils/mstflint/work/mstflint-4.16.0-1' gmake all-recursive gmake[2]: Entering directory '/wrkdirs/usr/ports/sysutils/mstflint/work/mstflint-4.16.0-1' Making all in common gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/mstflint/work/mstflint-4.16.0-1/common' sed -e 's,[@]MSTFLINT_VERSION_STR[@],mstflint 4.16.0,g' -e 's,[@]TOOLS_BUILD_TIME[@],Oct 10 2021\, 05:04:45,g' -e 's,[@]TOOLS_GIT_SHA[@],N/A,g' < ./tools_version.py.in > tools_version.py sed -e 's,[@]MST_LIB_DIR[@],/usr/local/lib,g' -e 's,[@]MST_BIN_DIR[@],/usr/local/bin,g' -e 's,[@]MFTCONF_PREFIX[@],/usr/local,g' < ./python_wrapper.sh > python_wrapper chmod +x python_wrapper gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/mstflint/work/mstflint-4.16.0-1/common' Making all in mft_utils gmake[3]: Entering directory '/wrkdirs/usr/ports/sysutils/mstflint/work/mstflint-4.16.0-1/mft_utils' /nxb-bin/usr/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../common -fPIC -I/usr/local/include -MD -pipe -Wall -W -fPIC -O2 -pipe -march=rv64imafdc -mabi=lp64d -fstack-protector-strong -fno-strict-aliasing -DNO_INBAND -DMST_UL -MT mft_sig_handler.o -MD -MP -MF .deps/mft_sig_handler.Tpo -c -o mft_sig_handler.o mft_sig_handler.c In file included from mft_sig_handler.c:36: In file included from ../common/tools_utils.h:36: ./common/compatibility.h:67:9: error: Unknown CPU architecture using the linux OS # error Unknown CPU architecture using the linux OS ^ ./common/compatibility.h:119:5: error: Unknown architecture # error Unknown architecture ^ 2 errors generated. gmake[3]: *** [Makefile:458: mft_sig_handler.o] Error 1 gmake[3]: Leaving directory '/wrkdirs/usr/ports/sysutils/mstflint/work/mstflint-4.16.0-1/mft_utils' gmake[2]: *** [Makefile:551: all-recursive] Error 1 gmake[2]: Leaving directory '/wrkdirs/usr/ports/sysutils/mstflint/work/mstflint-4.16.0-1' gmake[1]: *** [Makefile:438: all] Error 2 gmake[1]: Leaving directory '/wrkdirs/usr/ports/sysutils/mstflint/work/mstflint-4.16.0-1' *** Error code 1 Stop. make: stopped in /usr/ports/sysutils/mstflint
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202110100504.19A54vcg031941>