
Thanks Brandon. I'm on ubuntu feisty.
This breakage is a manifestation of
https://bugs.launchpad.net/ubuntu/+source/dash/+bug/61463
Basically, feisty switched the default shell to "dash" (which I'd
never heard of) from bash, because dash runs faster. But it's not 100%
compatible.
This was very controversial, but it appears that the feisty devs are
not amenable to switching /bin/sh back to bash, despite massive script
breakage, because using dash as default saves them tim. I must say, I
disagree with this move; and feel a bit let down by a distro that
overall has been very good to me.
Feisty devs suggest people fix the underlying problem, which is that
/bin/sh should not assume bash as default, but specify bash
explicitly. So I guess this is what should be done in the case of
building ycr2js; either that or make it dash compatible.
I will try to fix this myself by editing the makefile. I'll also
volunteer to the buildbot.
FWIW, this shouldn't affect ubuntu dapper (long term support) as they
still do the expected thing with sh.
thomas.
2007/11/24, Brandon S. Allbery KF8NH
On Nov 24, 2007, at 17:07 , Thomas Hartman wrote:
ltag=`echo ${tag:1} | tr [:upper:] [:lower:] ` ; \ echo " interface HTML${tag:0:1}${ltag}Element : HTMLElement {" >> W3C/addtags.idl ; \
(...)
/bin/sh: Syntax error: Bad substitution
Translation: "This program only works on Linux."
That variable substitution is not supported by /bin/sh on any system where /bin/sh is not bash, which is to say any system that is not Linux. (And possibly even not on some Linuxes; I think I've heard at least one distribution has tried to break the bash dependency, but I'm sure they'll go back soon because of all the people complaining about how "broken" it is.)
-- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH