GNOME Bugzilla – Bug 726780
${!GUILE_REQUIRED} is used in configure.ac
Last modified: 2015-04-13 18:29:20 UTC
The syntax ${!GUILE_REQUIRED} is not defined in POSIX. If /bin/sh is not bash, the configure script will fail.
This breaks builds on Debian/Ubuntu.
(In reply to comment #1) > This breaks builds on Debian/Ubuntu. Is bash not available when building packages on Debian/Ubuntu?
It is (In reply to comment #2) > Is bash not available when building packages on Debian/Ubuntu? It is but for some reason libtool breaks with this change. I didn't investigate further.
I really need the exact error here.
Reverted this since it seems to be causing problems when /bin/sh != bash (e.g. comment 1). So you'll just have to run configure like this: CONFIG_SHELL=/bin/bash ./configure ...
Does '#! /usr/bin/env bash' not work?
Apparently not. Seems it caused configure to generate a non-working libtool.
Can we use this instead? if test -z "$CONFIG_SHELL"; then CONFIG_SHELL="`command -v bash`" SHELL=${CONFIG_SHELL-/bin/sh} fi
No, CONFIG_SHELL needs to be set before AC_INIT which can't be done from within configure.ac.
configure and config.status use '#! $SHELL' when creating scripts, so overriding both CONFIG_SHELL and SHELL (which is copied from CONFIG_SHELL) variables works.