Subject: [3.0.9] ‘system*’ broken on GNU/Hurd
From: Ludovic Courtès <[email-masked]>
To: [email-masked]
Date: Thu, 26 Jan 2023 17:45:38 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

This test fails on GNU/Hurd:

--8<---------------cut here---------------start------------->8---
checking for library containing posix_spawn... none required
checking whether posix_spawn is declared... yes
checking for posix_spawn... yes
checking whether posix_spawn is declared... (cached) yes
checking whether posix_spawn works... yes
checking whether posix_spawn rejects scripts without shebang... yes
checking whether posix_spawnp rejects scripts without shebang... yes
checking whether posix_spawnattr_setschedpolicy is supported... yes
checking whether posix_spawnattr_setschedparam is supported... yes
checking for mbstate_t... yes
checking for ssize_t... yes
checking for sched.h... yes
checking for struct sched_param... yes
checking whether <sys/select.h> is self-contained... yes
checking whether setenv is declared... yes
checking for search.h... yes
checking for tsearch... yes
checking for sigset_t... yes
checking for uid_t in sys/types.h... yes
checking for volatile sig_atomic_t... yes
checking for sighandler_t... yes
checking for posix_spawnattr_t... yes
checking for posix_spawn_file_actions_t... yes

[…]

make[5]: Entering directory '/tmp/guix-build-guile-3.0.9rc1.drv-0/guile-3.0.9rc1/test-suite/standalone'
In execvp of guile: Bad file descriptor
test-system-cmds: system* exit status was 127 rather than 42
FAIL: test-system-cmds
--8<---------------cut here---------------end--------------->8---

This looks like a bug in the new ‘posix_spawn’-based ‘system*’, or (more
likely) in the ‘posix_spawn’ implementation for the Hurd in glibc.

Ludo’.