Hi, this is maybe not a full-grown bug, more like a quirk, but is is sure bound to cause confusion, so i'd like to hear what you think...
I'm the maintainer of the OpenBSD port of groff (GNU troff), and Bertrand (see Cc:) is currently migrating the groff build system to automake and gnulib. He uses the bootstrap script, among many other parts of the gnulib toolkit. On OpenBSD, the usual way to install the autotools is as follows: $ uname -a OpenBSD isnote.usta.de 5.6 GENERIC.MP#338 i386 $ pkg_info | grep -e autoconf -e automake autoconf-2.13p3 automatically configure source code on many Un*x platforms autoconf-2.59p4 automatically configure source code on many Un*x platforms autoconf-2.61p4 automatically configure source code on many Un*x platforms autoconf-2.62p1 automatically configure source code on many Un*x platforms autoconf-2.63p0 automatically configure source code on many Un*x platforms autoconf-2.65p0 automatically configure source code on many Un*x platforms autoconf-2.67p0 automatically configure source code on many Un*x platforms autoconf-2.68p0 automatically configure source code on many Un*x platforms autoconf-2.69p1 automatically configure source code on many Un*x platforms automake-1.11.6p1 GNU Standards-compliant Makefile generator automake-1.12.6p0 GNU Standards-compliant Makefile generator automake-1.14.1 GNU Standards-compliant Makefile generator automake-1.9.6p11 GNU Standards-compliant Makefile generator $ ls /usr/local/bin/auto{conf,make}* /usr/local/bin/autoconf /usr/local/bin/autoconf-2.68 /usr/local/bin/autoconf-2.13 /usr/local/bin/autoconf-2.69 /usr/local/bin/autoconf-2.59 /usr/local/bin/automake /usr/local/bin/autoconf-2.61 /usr/local/bin/automake-1.11 /usr/local/bin/autoconf-2.62 /usr/local/bin/automake-1.12 /usr/local/bin/autoconf-2.63 /usr/local/bin/automake-1.14 /usr/local/bin/autoconf-2.65 /usr/local/bin/automake-1.9 /usr/local/bin/autoconf-2.67 $ which autoconf automake /usr/local/bin/autoconf /usr/local/bin/automake $ autoconf; echo $? Provide an AUTOCONF_VERSION environment variable, please 127 $ automake; echo $? Provide an AUTOMAKE_VERSION environment variable, please 127 $ export AUTOCONF_VERSION=2.65 $ export AUTOMAKE_VERSION=1.12 $ autoconf --version | head -n1; echo $? autoconf (GNU Autoconf) 2.65 0 ischwarze@isnote $ automake --version | head -n1; echo $? automake (GNU automake) 1.12.6 0 Now, if you forget to set these variables before running ./bootstrap, bootstrap check_exists() redirects the helpful error messages to /dev/null and shows bogus diagnostics instead: Error: 'autoconf' not found Do you see any way of not hiding the real diagnostics from the poor user? Thanks for your work on gnulib and for your consideration, Ingo Werner LEMBERG wrote on Mon, Sep 22, 2014 at 11:20:31PM +0200: >> So this code in ./bootstrap is suboptimal: >> >> check_exists() { >> ($1 --version </dev/null) >/dev/null 2>&1 >> >> That deliberately hides the error message from the user and displays >> a bogus message instead, so you might wish to refrain from hiding >> stderr. > ... given that `bootstrap' is a ready-to-run script from `gnulib', > this should probably discussed with the gnulib people.