[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Incompatibility between bash versions running a configure script

From: Chet Ramey
Subject: Re: Incompatibility between bash versions running a configure script
Date: Wed, 05 Jul 2006 20:44:43 -0400
User-agent: Thunderbird (Macintosh/20060530)

address@hidden wrote:
> Configuration Information [Automatically generated, do not change]:
> Machine: i486
> OS: linux-gnu
> Compiler: gcc
> Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='i486' 
> -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i486-pc-linux-gnu' 
> -DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL 
> -DHAVE_CONFIG_H   -I.  -I../bash -I../bash/include -I../bash/lib   -g -O2
> uname output: Linux skaro 2.4.27-2-k7 #1 Wed Nov 30 22:12:04 JST 2005 i686 
> GNU/Linux
> Machine Type: i486-pc-linux-gnu
> Bash Version: 3.1
> Patch Level: 14
> Release Status: release
> Description:
>         Incompatibility running a configure script.
>         The script appears to work fine from bash version:
>                 GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
>         but when I run it on version:
>               GNU bash, version 3.1.14(1)-release (i486-pc-linux-gnu)
>       I get:
> -------------------------------------8<---------------------------------------
> checking system version (for dynamic loading)... ./configure: line 1379: 
> syntax error near unexpected token `('
> ./configure: line 1379: `  case `(ac_space=' '; set) 2>&1` in'
> -------------------------------------8<---------------------------------------

This is the actual offending line:

system=MP-RAS-`awk '{print $3}' /etc/.relid'`

It's line 102 in configure.in and line 1236 in configure.  Note the
stray single quote before the `closing' backquote.  Bash-3.1 attempts
to recursively parse quoted strings and other constructs in backquotes,
based on how I interpreted text in the POSIX spec, and that quote starts
a new quoted string that doesn't terminate until line 1379.  The fix
should be obvious.

The next version of bash will not attempt to recursively parse those
quoted strings (I got clarification from the other POSIX folks), which
means that these errors will once again go undetected.

``The lyf so short, the craft so long to lerne.'' - Chaucer
                       Live Strong.  No day but today.
Chet Ramey, ITS, CWRU    address@hidden    http://cnswww.cns.cwru.edu/~chet/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]