Date: Thu, 14 Jan 2021 05:18:13 GMT From: pkg-fallout@FreeBSD.org To: pkg-fallout@FreeBSD.org Subject: [package - head-armv6-default][mail/eps] Failed for eps-1.7_2 in build Message-ID: <202101140518.10E5IDio092823@beefy8.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: ports@FreeBSD.org Last committer: linimon@FreeBSD.org Ident: $FreeBSD: head/mail/eps/Makefile 559904 2021-01-02 01:46:08Z linimon $ Log URL: http://beefy8.nyi.freebsd.org/data/head-armv6-default/p561528_s368820/logs/eps-1.7_2.log Build URL: http://beefy8.nyi.freebsd.org/build.html?mastername=head-armv6-default&build=p561528_s368820 Log: =>> Building mail/eps build started at Thu Jan 14 05:18:06 UTC 2021 port directory: /usr/ports/mail/eps package name: eps-1.7_2 building for: FreeBSD head-armv6-default-job-11 13.0-CURRENT FreeBSD 13.0-CURRENT 1300132 arm maintained by: ports@FreeBSD.org Makefile ident: $FreeBSD: head/mail/eps/Makefile 559904 2021-01-02 01:46:08Z linimon $ Poudriere version: 3.2.8-8-gaf08dbda Host OSVERSION: 1300121 Jail OSVERSION: 1300132 Job Id: 11 !!! Jail is newer than host. (Jail: 1300132, Host: 1300121) !!! !!! This is not supported. !!! !!! Host kernel must be same or newer than jail. !!! !!! Expect build failures. !!! ---Begin Environment--- SHELL=/bin/csh UNAME_p=armv6 UNAME_m=arm ABI_FILE=/usr/lib/crt1.o OSVERSION=1300132 UNAME_v=FreeBSD 13.0-CURRENT 1300132 UNAME_r=13.0-CURRENT 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-8-gaf08dbda MASTERMNT=/usr/local/poudriere/data/.m/head-armv6-default/ref POUDRIERE_BUILD_TYPE=bulk PACKAGE_BUILDING=yes SAVED_TERM= PWD=/usr/local/poudriere/data/.m/head-armv6-default/ref/.p/pool P_PORTS_FEATURES=FLAVORS SELECTED_OPTIONS MASTERNAME=head-armv6-default SCRIPTPREFIX=/usr/local/share/poudriere OLDPWD=/usr/local/poudriere/data/.m/head-armv6-default/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 eps-1.7_2: DOCS=on: Build and/or install documentation ===> Use 'make config' to modify these settings ---End OPTIONS List--- --MAINTAINER-- ports@FreeBSD.org --End MAINTAINER-- --CONFIGURE_ARGS-- --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/mail/eps/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/mail/eps/work HOME=/wrkdirs/usr/ports/mail/eps/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/mail/eps/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin SHELL=/bin/sh CONFIG_SHELL=/bin/sh --End CONFIGURE_ENV-- --MAKE_ENV-- DEFS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing -std=gnu89 " XDG_DATA_HOME=/wrkdirs/usr/ports/mail/eps/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/mail/eps/work HOME=/wrkdirs/usr/ports/mail/eps/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/mail/eps/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 -fstack-protector-strong -fno-strict-aliasing -std=gnu89 " CPP="/nxb-bin/usr/bin/cpp" CPPFLAGS="" LDFLAGS=" -fstack-protector-strong " LIBS="" CXX="/nxb-bin/usr/bin/c++" CXXFLAGS="-O2 -pipe -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="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" --End MAKE_ENV-- --PLIST_SUB-- PORTDOCS="" OSREL=13.0 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/eps" EXAMPLESDIR="share/examples/eps" DATADIR="share/eps" WWWDIR="www/eps" ETCDIR="etc/eps" --End PLIST_SUB-- --SUB_LIST-- PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/eps DOCSDIR=/usr/local/share/doc/eps EXAMPLESDIR=/usr/local/share/examples/eps WWWDIR=/usr/local/www/eps ETCDIR=/usr/local/etc/eps --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=arm MACHINE_ARCH=armv6 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.0 (git@github.com:llvm/llvm-project.git llvmorg-11.0.0-0-g176249bd673) Target: armv6-unknown-freebsd13.0-gnueabihf Thread model: posix InstalledDir: /nxb-bin/usr/bin _ALTCCVERSION_9d218390=none _CXXINTERNAL_9c45a5b1=FreeBSD clang version 11.0.0 (git@github.com:llvm/llvm-project.git llvmorg-11.0.0-0-g176249bd673) Target: armv6-unknown-freebsd13.0-gnueabihf Thread model: posix InstalledDir: /nxb-bin/usr/bin "/nxb-bin/usr/bin/ld" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld-elf.so.1" "--hash-style=both" "--enable-new-dtags" "-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.0 (git@github.com:llvm/llvm-project.git llvmorg-11.0.0-0-g176249bd673) Target: armv6-unknown-freebsd13.0-gnueabihf Thread model: posix InstalledDir: /nxb-bin/usr/bin _OBJC_ALTCCVERSION_9d218390=none ARCH=armv6 OPSYS=FreeBSD _OSRELEASE=13.0-CURRENT OSREL=13.0 OSVERSION=1300132 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 >============================ ===> NOTICE: The eps port currently does not have a maintainer. As a result, it is more likely to have unresolved issues, not be up-to-date, or even be removed in the future. To volunteer to maintain this port, please create an issue at: https://bugs.freebsd.org/bugzilla More information about port maintainership is available at: https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port =========================================================================== =======================<phase: pkg-depends >============================ ===> eps-1.7_2 depends on file: /usr/local/sbin/pkg - not found ===> Installing existing package /packages/All/pkg-1.16.1.txz <snip> t = rfc2822_next_token(str, ',', "\t "); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date.c:71:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ' ', "\t"); ^ ./rfc2822.h:9:50: note: passing argument to parameter here unsigned char *rfc2822_next_token(unsigned char *, unsigned char, unsigned char *); ^ date.c:71:35: warning: passing 'char [2]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ' ', "\t"); ^~~~ ./rfc2822.h:9:82: note: passing argument to parameter here unsigned char *rfc2822_next_token(unsigned char *, unsigned char, unsigned char *); ^ date.c:71:6: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ' ', "\t"); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date.c:94:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ' ', "\t"); ^ ./rfc2822.h:9:50: note: passing argument to parameter here unsigned char *rfc2822_next_token(unsigned char *, unsigned char, unsigned char *); ^ date.c:94:35: warning: passing 'char [2]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ' ', "\t"); ^~~~ ./rfc2822.h:9:82: note: passing argument to parameter here unsigned char *rfc2822_next_token(unsigned char *, unsigned char, unsigned char *); ^ date.c:94:6: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ' ', "\t"); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date.c:120:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ' ', "\t"); ^ ./rfc2822.h:9:50: note: passing argument to parameter here unsigned char *rfc2822_next_token(unsigned char *, unsigned char, unsigned char *); ^ date.c:120:35: warning: passing 'char [2]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ' ', "\t"); ^~~~ ./rfc2822.h:9:82: note: passing argument to parameter here unsigned char *rfc2822_next_token(unsigned char *, unsigned char, unsigned char *); ^ date.c:120:6: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ' ', "\t"); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date.c:143:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ':', NULL); ^ ./rfc2822.h:9:50: note: passing argument to parameter here unsigned char *rfc2822_next_token(unsigned char *, unsigned char, unsigned char *); ^ date.c:143:6: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ':', NULL); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date.c:166:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ':', " \t"); ^ ./rfc2822.h:9:50: note: passing argument to parameter here unsigned char *rfc2822_next_token(unsigned char *, unsigned char, unsigned char *); ^ date.c:166:35: warning: passing 'char [3]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ':', " \t"); ^~~~~ ./rfc2822.h:9:82: note: passing argument to parameter here unsigned char *rfc2822_next_token(unsigned char *, unsigned char, unsigned char *); ^ date.c:166:6: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ':', " \t"); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date.c:191:27: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ' ', "\t"); ^ ./rfc2822.h:9:50: note: passing argument to parameter here unsigned char *rfc2822_next_token(unsigned char *, unsigned char, unsigned char *); ^ date.c:191:35: warning: passing 'char [2]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ' ', "\t"); ^~~~ ./rfc2822.h:9:82: note: passing argument to parameter here unsigned char *rfc2822_next_token(unsigned char *, unsigned char, unsigned char *); ^ date.c:191:6: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign] t = rfc2822_next_token(t, ' ', "\t"); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20 warnings generated. ar -cru libeps.a line.o buffer.o unfold.o content.o eps.o int_stream.o rfc2822.o misc.o header.o email.o boundary.o mime.o address.o base64.o fold.o int_buffer.o qp.o date.o ranlib libeps.a /nxb-bin/usr/bin/cc -shared -o libeps.so line.o buffer.o unfold.o content.o eps.o int_stream.o rfc2822.o misc.o header.o email.o boundary.o mime.o address.o base64.o fold.o int_buffer.o qp.o date.o ld: error: can't create dynamic relocation R_ARM_ABS32 against local symbol in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in content.o >>> referenced by content.c >>> content.o:(content_parse) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: content_prefs in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in content.o >>> referenced by content.c >>> content.o:(.rodata+0x0) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: encoding_prefs in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in content.o >>> referenced by content.c >>> content.o:(.rodata+0x4) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: disposition_prefs in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in content.o >>> referenced by content.c >>> content.o:(.rodata+0x8) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: __stack_chk_guard in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in /lib/libc.so.7 >>> referenced by eps.c >>> eps.o:(eps_begin) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: .L.str.1 in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in email.o >>> referenced by email.c >>> email.o:(email_content_type) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: _i_headers in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in email.o >>> referenced by email.c >>> email.o:(email_header_internal) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: .L.str in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in boundary.o >>> referenced by boundary.c >>> boundary.o:(boundary_debug) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: .Lstr in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in boundary.o >>> referenced by boundary.c >>> boundary.o:(boundary_debug) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: .L.str.2 in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in boundary.o >>> referenced by boundary.c >>> boundary.o:(boundary_debug) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: .L.str.3 in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in mime.o >>> referenced by mime.c >>> mime.o:(mime_content_type) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: .L.str.4 in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in mime.o >>> referenced by mime.c >>> mime.o:(mime_content_type) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: .L.str.5 in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in mime.o >>> referenced by mime.c >>> mime.o:(mime_content_disposition) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: _m_i_headers in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in mime.o >>> referenced by mime.c >>> mime.o:(mime_next_header) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: .L.str in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in address.o >>> referenced by address.c >>> address.o:(address_evaluate) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: .L.str.1 in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in address.o >>> referenced by address.c >>> address.o:(address_evaluate_one) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: .L.str.2 in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in address.o >>> referenced by address.c >>> address.o:(address_evaluate_one) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: alphabet in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in base64.o >>> referenced by base64.c >>> base64.o:(base64_init) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: __stack_chk_guard in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in /lib/libc.so.7 >>> referenced by base64.c >>> base64.o:(base64_decode) ld: error: can't create dynamic relocation R_ARM_ABS32 against symbol: __stack_chk_guard in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output >>> defined in /lib/libc.so.7 >>> referenced by base64.c >>> base64.o:(base64_encode) ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors) cc: error: linker command failed with exit code 1 (use -v to see invocation) *** Error code 1 Stop. make[1]: stopped in /wrkdirs/usr/ports/mail/eps/work/eps-1.7 *** Error code 1 Stop. make: stopped in /usr/ports/mail/eps
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202101140518.10E5IDio092823>