Created attachment 222293 [details] build log It appears that games/dobutsu fails to build due to a spurious emulation problem when xz(1) is running. The same problem does not occur when building the port natively (on an RPi 2B running FreeBSD 12.2). Kyle Evans suggests this might be an emulation problem. A build log is attached, more can be found here: https://portsfallout.com/fallout?port=games%2Fdobutsu%24
A commit references this bug: Author: kevans Date: Fri Feb 26 04:53:22 UTC 2021 New revision: 566578 URL: https://svnweb.freebsd.org/changeset/ports/566578 Log: emulators/qemu-user-static: update to f7fd10d7677c This features a number of fixes; highlights: - Handle aarch64 YIELD instructions - Bump ARG_MAX to match the FreeBSD default on LP64 platforms - Implement __specialfd(2) and copy_file_range(2) - Style fixes - Fix an issue with binary execution[0] - Fix page fault handling for self-modifying binaries[1] - Suppress noise from CIOGSESSION usage and restore CRIOGET handling - Patch _umtx_op(2) through to the kernel where possible[2] [0] Attempting to execute a binary by name was broken when there was an unrelated entry by the same name in PWD. The report below observed it in the cluster while building games/dobutsu, which tried to execute `xz` in a directory that had an `xz` directory inside of it. [1] From the fixing commit, qemu mprotect()s pages contained translated code to PROT_READ | PROT_EXEC and upgrades protections as needed upon page fault. This was broken in a previous commit that misidentified by the trap # that should have been observed. The observed issue a broken JIT compiler in libpcre. [2] _umtx_op can now be handled by the kernel in cases where the target long size is not longer than the host, and the target and host are the same endianness. This is much more reliable than our previous emulation of these operations, and should reduce hangs sometimes observed in threaded applications. Note that this requires a recent stable/12 or 13.x/-CURRENT. PR: 253375 [0] PR: 253335 [1] MFH: 2021Q1 Changes: head/emulators/qemu-user-static/Makefile head/emulators/qemu-user-static/distinfo
A commit references this bug: Author: kevans Date: Fri Feb 26 04:54:03 UTC 2021 New revision: 566579 URL: https://svnweb.freebsd.org/changeset/ports/566579 Log: MFH: r566578 emulators/qemu-user-static: update to f7fd10d7677c This features a number of fixes; highlights: - Handle aarch64 YIELD instructions - Bump ARG_MAX to match the FreeBSD default on LP64 platforms - Implement __specialfd(2) and copy_file_range(2) - Style fixes - Fix an issue with binary execution[0] - Fix page fault handling for self-modifying binaries[1] - Suppress noise from CIOGSESSION usage and restore CRIOGET handling - Patch _umtx_op(2) through to the kernel where possible[2] [0] Attempting to execute a binary by name was broken when there was an unrelated entry by the same name in PWD. The report below observed it in the cluster while building games/dobutsu, which tried to execute `xz` in a directory that had an `xz` directory inside of it. [1] From the fixing commit, qemu mprotect()s pages contained translated code to PROT_READ | PROT_EXEC and upgrades protections as needed upon page fault. This was broken in a previous commit that misidentified by the trap # that should have been observed. The observed issue a broken JIT compiler in libpcre. [2] _umtx_op can now be handled by the kernel in cases where the target long size is not longer than the host, and the target and host are the same endianness. This is much more reliable than our previous emulation of these operations, and should reduce hangs sometimes observed in threaded applications. Note that this requires a recent stable/12 or 13.x/-CURRENT. PR: 253375 [0] PR: 253335 [1] Changes: _U branches/2021Q1/ branches/2021Q1/emulators/qemu-user-static/Makefile branches/2021Q1/emulators/qemu-user-static/distinfo
Thanks for the report!