bindist configure doesn't fail if `find` is missing (9.4.4)
Summary
Bindist configure doesn't require find
, then make install
fails with an obscure error, because some make variable is undefined and the resulting command is .
:
sh-4.4# ./configure --prefix=/usr/local
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
configure: GHC build : x86_64-unknown-linux
configure: GHC host : x86_64-unknown-linux
configure: GHC target : x86_64-unknown-linux
checking for path to top of build tree... /root/.ghcup/cache/ghc-9.4.4-x86_64-unknown-linux
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for gsed... sed
checking for python3... /usr/bin/python3
checking for gfind... no
checking for find... no
configure: WARNING: find looks like a non-*nix find, ignoring it
checking for find... no
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 for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
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 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 for ld.gold object merging bug (binutils 22266)... ./configure: line 6264: 1578 Aborted (core dumped) ./conftest
affected
configure: ld.gold is broken due to binutils 22266, looking for another linker...
checking for -ld... no
checking for ld... ld
checking for ld.gold object merging bug (binutils 22266)... 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-14... no
checking for llc-14.0... no
checking for llc14... no
checking for llc-13... no
checking for llc-13.0... no
checking for llc13... no
checking for llc-12... no
checking for llc-12.0... no
checking for llc12... no
checking for llc-11... no
checking for llc-11.0... no
checking for llc11... no
checking for llc-10... no
checking for llc-10.0... no
checking for llc10... no
checking for llc... no
checking for opt-14... no
checking for opt-14.0... no
checking for opt14... no
checking for opt-13... no
checking for opt-13.0... no
checking for opt13... no
checking for opt-12... no
checking for opt-12.0... no
checking for opt12... no
checking for opt-11... no
checking for opt-11.0... no
checking for opt11... no
checking for opt-10... no
checking for opt-10.0... no
checking for opt10... no
checking for opt... no
checking version of gcc... checking version of gcc... 7.3.1
7.3.1
checking whether CC 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 C++ standard library flavour... libstdc++
checking for linkage against 'stdc++'... success
checking for .subsections_via_symbols... no
checking whether your assembler supports .ident directive... yes
checking for GNU non-executable stack support... yes
checking whether gcc supports --target... no
checking whether gcc supports --target... no
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking size of void *... 8
checking whether byte ordering is bigendian... no
checking for -ar... no
checking for ar... ar
checking whether ar is GNU ar... yes
checking for ar arguments... q
checking whether ar supports @file... yes
checking whether ar supports -L... ar: conftest.a: No such file or directory
no
checking for ranlib... ranlib
configure: creating ./config.status
config.status: creating mk/system-cxx-std-lib-1.0.conf
config.status: creating mk/config.mk
config.status: creating mk/install.mk
****************************************************
Configuration done, ready to 'make install'
(see README and INSTALL files for more info.)
****************************************************
sh-4.4# make install
Copying binaries to /usr/local/lib/ghc-9.4.4/bin
/usr/bin/install -c -m 755 -d "/usr/local/lib/ghc-9.4.4/bin"
for i in ./bin/runghc-9.4.4 ./bin/ghc-iserv ./bin/runhaskell-9.4.4 ./bin/runhaskell ./bin/runghc ./bin/ghc-pkg-9.4.4 ./bin/ghc-iserv-prof-ghc-9.4.4 ./bin/hsc2hs-ghc-9.4.4 ./bin/ghc-pkg ./bin/hp2ps ./bin/haddock-ghc-9.4.4 ./bin/hpc ./bin/unlit-ghc-9.4.4 ./bin/ghc-iserv-dyn ./bin/ghc-9.4.4 ./bin/ghc-iserv-ghc-9.4.4 ./bin/ghc ./bin/hpc-ghc-9.4.4 ./bin/hsc2hs ./bin/ghc-iserv-prof ./bin/hp2ps-ghc-9.4.4 ./bin/unlit ./bin/haddock ./bin/ghc-iserv-dyn-ghc-9.4.4; do \
if test -L "$i"; then \
cp -RP "$i" "/usr/local/lib/ghc-9.4.4/bin"; \
else \
/usr/bin/install -c -m 755 "$i" "/usr/local/lib/ghc-9.4.4/bin"; \
fi; \
done
# Work around #17418 on Darwin
if [ -e "" ]; then "" -c -r "/usr/local/lib/ghc-9.4.4/bin"; fi
Installing wrapper scripts
/usr/bin/install -c -m 755 -d "/usr/local/bin"
for p in `cd wrappers; . ! -type d`; do \
mk/install_script.sh "$p" "//usr/local/bin/$p" "/usr/local/bin" "/usr/local/lib/ghc-9.4.4/bin" "/usr/local/lib/ghc-9.4.4/bin/$p" "/usr/local/lib/ghc-9.4.4/lib" "/usr/local/share/doc/ghc-9.4.4" "/usr/local/include"; \
done
/bin/sh: line 0: .: !: file not found
Copying libraries to /usr/local/lib/ghc-9.4.4/lib
/usr/bin/install -c -m 755 -d "/usr/local/lib/ghc-9.4.4/lib"
/bin/sh: line 2: .: -t: invalid option
.: usage: . filename [arguments]
chmod: cannot access '/usr/local/lib/ghc-9.4.4/lib/bin/*': No such file or directory
make: *** [Makefile:161: install_lib] Error 1
sh-4.4# find --help
sh: find: command not found
Steps to reproduce
- start docker container with fedora:27
- install
curl bash git which gcc gcc-c++ gmp gmp-devel make ncurses ncurses-compat-libs xz perl
- download and unpack https://downloads.haskell.org/ghc/9.4.4/ghc-9.4.4-x86_64-centos7-linux.tar.xz
- run
./configure && make install
Environment
- GHC version used: 9.4.4
Optional:
- Operating System: Fedora
- System Architecture: x86_64