Problems with ash-20040127-3 (Attn: bash maintainer)

Igor Pechtchanski pechtcha@cs.nyu.edu
Fri Jul 8 00:35:00 GMT 2005


On Fri, 8 Jul 2005, Angelo Graziosi wrote:

> Last morning I have made a build of ROOT (a CERN application) using the
> snapshot 20050705, bash-3.0-3-test, ash-20040127-1, coreutils-5.3.0-6
> GCC-3.3.3-3. The buid takes almost 1.5 h
>
> After upgrading to bash-3.0-7, ash-20040127-3, coreutils-5.3.0-7 I have
> tried a new build. This time the buid stopped after a few minutes with:
>
>    wingcc_ld.sh: unespected end of file... at line 12 and 31
>
> Perhaps should one to change someting in this *.sh file (see Attc.) ?
>
> /bin/sh in /bin/ash ? or in /bin/bash ?

Yep.  The new /bin/sh is bash.  Apparently, bash doesn't like the
following line:

if [ "`echo $dllname | sed 's{^lib/.*\.dll${{'`" != "$dllname" ]; then

because in bash, ${ has special meaning -- it starts a variable reference.
FWIW, I get the same error with "bash -n wingcc_ld.sh" when bash is
version 2.05b.  I suspect this may actually be a bug in bash, since single
quotes ought to stop it from trying to expand variable references.  This
only happens when the single quotes are inside a shell substitution (i.e.,
"echo '${'" works, but "echo `echo '${'`" doesn't).  Nevertheless,
changing the '{' to any other character (e.g., '#') in the sed script
makes it parse correctly.
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"The Sun will pass between the Earth and the Moon tonight for a total
Lunar eclipse..." -- WCBS Radio Newsbrief, Oct 27 2004, 12:01 pm EDT

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list