GHC 9.2.2 install fails on Void Linux WSL with "Bad fd number"
To clarify, I'm using https://github.com/am11/VoidWSL on Windows 10.
Probably unrelated but Void WSL also has a small /tmp, so I am using TMPDIR=~/.tmp
.
Here's ~.ghcup/logsghcup.log/
:
Debug: Identified Platform as: Linux UnknownLinux
Debug: last access was 180.1988789s ago, cache interval is 300s
Debug: Decoding yaml at: /home/david/.ghcup/cache/ghcup-0.0.7.yaml
Debug: Requested to install GHC with 9.2.2
Info: downloading: https://downloads.haskell.org/~ghc/9.2.2/ghc-9.2.2-x86_64-fedora27-linux.tar.xz as file /home/david/.tmp/ghcup-02c1add67ea77c80/ghc-9.2.2-x86_64-fedora27-linux.tar.xz
Info: verifying digest of: ghc-9.2.2-x86_64-fedora27-linux.tar.xz
Info: Unpacking: ghc-9.2.2-x86_64-fedora27-linux.tar.xz to /home/david/.tmp/ghcup-0dced5ea328216d2
Info: Installing GHC (this may take a while)
Debug: Running sh with arguments ["./configure","--prefix=/home/david/.ghcup/ghc/9.2.2"]
Error: (Process "sh" with arguments ["./configure",
"--prefix=/home/david/.ghcup/ghc/9.2.2"] failed with exit code 2.,
())
Error: Also check the logs in /home/david/.ghcup/logs
And here's ~/.ghcup/logs/ghc-configure.log
:
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
Build platform inferred as: x86_64-unknown-linux
Host platform inferred as: x86_64-unknown-linux
Target platform inferred as: x86_64-unknown-linux
GHC build : x86_64-unknown-linux
GHC host : x86_64-unknown-linux
GHC target : x86_64-unknown-linux
LLVM target: x86_64-unknown-linux
checking for path to top of build tree... /home/david/.tmp/ghcup-0dced5ea328216d2/ghc-9.2.2
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for gsed... sed
checking for python3... /usr/sbin/python3
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for gcc option to accept ISO C99... none needed
checking for gcc option to accept ISO C99... none needed
checking for gcc option to accept ISO C99... none needed
checking whether GCC supports -no-pie... yes
checking for -ld.lld... no
checking for ld.lld... no
checking for -ld.gold... no
checking for ld.gold... ld.gold
checking whether C compiler supports -fuse-ld=gold... yes
checking whether ld.gold exhibits weak relocation bug (binutils 23856)... not affected
checking for ld.gold object merging bug (binutils 22266)... not affected
checking whether ld is GNU ld... YES
checking whether ld understands --build-id... yes
checking whether ld understands -no_compact_unwind... yes
checking whether ld understands -filelist... no
checking for -strip... no
checking for strip... strip
checking for gawk... gawk
checking for llc-13... no
checking for llc-13.0... no
checking for llc-12... no
checking for llc-12.0... no
checking for llc-11... no
checking for llc-11.0... no
checking for llc-10... no
checking for llc-10.0... no
checking for llc-9... no
checking for llc-9.0... no
checking for llc... no
checking for opt-13... no
checking for opt-13.0... no
checking for opt-12... no
checking for opt-12.0... no
checking for opt-11... no
checking for opt-11.0... no
checking for opt-10... no
checking for opt-10.0... no
checking for opt-9... no
checking for opt-9.0... no
checking for opt... no
checking version of gcc... checking version of gcc... 10.2.1
10.2.1
checking whether GCC supports -no-pie... yes
checking for extra options to pass gcc when compiling via C...
checking Setting up CFLAGS, LDFLAGS, IGNORE_LINKER_LD_FLAGS and CPPFLAGS... done
checking Setting up CONF_CC_OPTS_STAGE0, CONF_GCC_LINKER_OPTS_STAGE0, CONF_LD_LINKER_OPTS_STAGE0 and CONF_CPP_OPTS_STAGE0... done
checking Setting up CONF_CC_OPTS_STAGE1, CONF_GCC_LINKER_OPTS_STAGE1, CONF_LD_LINKER_OPTS_STAGE1 and CONF_CPP_OPTS_STAGE1... done
checking Setting up CONF_CC_OPTS_STAGE2, CONF_GCC_LINKER_OPTS_STAGE2, CONF_LD_LINKER_OPTS_STAGE2 and CONF_CPP_OPTS_STAGE2... done
checking for .subsections_via_symbols... no
checking whether your assembler supports .ident directive... yes
checking for GNU non-executable stack support... yes
checking whether CC supports --target... ./configure: 7723: Syntax error: Bad fd number
This issue does not happen with any earlier version; even as late as 9.2.1 installs fine.
The above log files were output by using ghcup 0.1.17.7 (whoops), but 0.1.17.8 gives the same error, on the same line of the configure script.
If I can provide any more information, let me know.