Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com> List-Archive: <http://sourceware.org/ml/cygwin/> List-Post: <mailto:cygwin AT cygwin DOT com> List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Thu, 7 Jul 2005 20:34:42 -0400 (EDT) From: Igor Pechtchanski <pechtcha AT cs DOT nyu DOT edu> Reply-To: cygwin AT cygwin DOT com To: Angelo Graziosi <Angelo DOT Graziosi AT roma1 DOT infn DOT it> cc: cygwin AT cygwin DOT com Subject: Re: Problems with ash-20040127-3 (Attn: bash maintainer) In-Reply-To: <Pine.OSF.4.21.0507080133340.15260-200000@ax0rm1.roma1.infn.it> Message-ID: <Pine.GSO.4.61.0507072020520.29317@slinky.cs.nyu.edu> References: <Pine DOT OSF DOT 4 DOT 21 DOT 0507080133340 DOT 15260-200000 AT ax0rm1 DOT roma1 DOT infn DOT it> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: <Pine DOT GSO DOT 4 DOT 61 DOT 0507072020522 DOT 29317 AT slinky DOT cs DOT nyu DOT edu> 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 AT cs DOT nyu DOT edu ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT 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/