Why doesn't autoconf like our /bin/sh?
mwm-keyword-freebsdhackers2.e313df at mired.org
Sun Mar 9 19:55:25 UTC 2008
I've stumbled on to an obscure problem with autoconf 2.61, and I'm not
sure quite what to do with it. I've already sent mail to the autoconf
folks, but I'd like to understand what's going on.
The problem is that, on a FreeBSD system with only /bin/sh and the
ports zsh as installed shells, if you have SHELL set to zsh when
invoking the autoconf-generated configure script, the script produces
a broken Makefile. It doesn't generate an error, it just complains
No shell found that supports shell functions.
Please tell autoconf at gnu.org about your system,
including any error possibly output before this
and then runs to completion, with no other indication of an error, and
non in the config.log file either. This has happened on multiple
different FreeBSD systems (including both 6-STABLE and 7-RELEASE), on
multiple autoconf scripts (possibly from multiple versions of
Installing bash (or presumably any of the other shells that the
configure script looks for) changes this, and it works fine. Setting
SHELL to /bin/sh, or unsetting it, also solves this.
And of course, if you build from ports, SHELL gets set to /bin/sh, so
there isn't a problem at all (which probably has a lot to do with why
I never noticed it before - the ports systems pretty much covers most
of my needs).
From poking at things it seems that autoconf isn't happy with /bin/sh
for some reason, even though it works. With SHELL set to zsh, it then
tries that - and again isn't happy. However, it's not so unhappy that
it fails completely, so it tries to run with whatever shell it tried
My question is, why doesn't the configure script just accept /bin/sh?
After all, it's going to work. Is there an autoconf person who knows
Mike Meyer <mwm at mired.org> http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.
More information about the freebsd-hackers