live-bootstrap icon indicating copy to clipboard operation
live-bootstrap copied to clipboard

chroot/bwrap fail to build automake-1.6.3 in WSL2 due to bash-2.05b globbing failure

Open Googulator opened this issue 2 years ago • 3 comments

Both chroot and bwrap builds fail in WSL2, because rm -- configure Makefile.in */Makefile.in */*/Makefile.in aclocal.m4 automake.info* fails to expand properly.

A simple testcase that shows this problem is as follows:

$ mkdir -p a/b
$ touch a/b/c
$ cd a
$ ./path/to/bad/bash -c 'echo */c'
*/c
$ bash -c 'echo */c' # system bash
b/c

bash-2.05b consistently behaves like this outside a chroot environment (even if it's run under "env -i"), but inside chroot/bwrap, it works fine - except on WSL2. IMO a proper fix would be one that makes it work outside a chroot environment as well.

Googulator avatar Dec 28 '23 07:12 Googulator

This might be the fix: https://ftp.gnu.org/pub/gnu/bash/bash-2.05b-patches/bash205b-003

(not sure if our modern patch can read this format, but if not, it shouldn't be hard to convert to the modern format)

We might also want to add this patch: https://ftp.gnu.org/pub/gnu/bash/bash-2.05b-patches/bash205b-008 (AKA shellshock)

Googulator avatar Jan 08 '24 11:01 Googulator

I have the same issue. Here's the relevant log: http://0x0.st/HdnG.txt

mid-kid avatar Feb 14 '24 17:02 mid-kid

As a workaround, upgrading the WSL2 kernel to linux-msft-wsl-6.6.y seems to avoid this issue.

This is not a fix, however - Bash 2.05b built using Autoconf works fine on the older kernel, the issue only occurs in Bash built via a custom makefile.

Googulator avatar Aug 05 '24 09:08 Googulator