Closed Googulator closed 8 months ago
For reference, this is the shell check from a successful run:
configure: will now look for a sturdy POSIX shell, for our testsuite
checking for sh... /usr/bin/sh
checking for sh5... no
checking for dash... no
checking for ash... no
checking for bash... /usr/bin/bash
checking for zsh... no
checking for ksh... no
checking for pdksh... no
checking whether /usr/bin/sh supports $(cmd)... yes
checking whether /usr/bin/sh supports $((expr))... yes
checking whether /usr/bin/sh supports ${var#glob} and ${var%glob}... yes
checking whether /usr/bin/sh preserves exit traps with "set -e"... yes
checking whether /usr/bin/sh can define exit traps in a shell function... yes
checking whether /usr/bin/sh corrupts stderr with "set -x"... no
checking whether /usr/bin/sh can return early from "dot-sourced" files... yes
checking whether /usr/bin/sh supports "test -e"... yes
configure: shell /usr/bin/sh is good enough, stop looking
configure: will use /usr/bin/sh as the testsuite shell
The ${#var} check (which fails in the failure case) isn't even performed. Weird.
Looks like shellcheck-bypass.patch is somehow ignored in failed runs.
A useful diagnostic here would be a log with set -x
. I doubt this has anything to do with parallelism and might be some other machine specific thing... but that's my gut!
so like this:
AUTORECONF=autoreconf-2.69 AUTOM4TE=autom4te-2.69 AUTOHEADER=autoheader-2.69 AUTOCONF=autoconf-2.69 bash -x ./configure --prefix="${PREFIX}"
from default_src_prepare:
if test -d "${patch_dir}"; then
if ls "${patch_dir}"/*.patch >/dev/null 2>&1; then
for p in "${patch_dir}"/*.patch; do
echo "Applying patch: ${p}"
patch -Np0 < "${p}"
done
fi
fi
Could this be yet another globbing bug, similar to the one seen in WSL2?
In bwrap mode with 8 cores, I occasionally (about 1 in 10 runs) get this failure: