rsync 2.6.0: ./configure goes into a loop

John Van Essen vanes002 at umn.edu
Mon Jan 5 07:15:16 GMT 2004


On Sun, 4 Jan 2004, Phil Howard <phil-rsync at ipal.net> wrote:
> On Sat, Jan 03, 2004 at 01:00:09PM -0800, Wayne Davison wrote:
> | On Sat, Jan 03, 2004 at 02:11:04AM -0600, Phil Howard wrote:
> | > After doing a fresh extraction of the source for 2.6.0, I execute
> | > ./configure and it enters a loop with no output before or during.
> |
> | What shell are you using?  I'd suggest trying to run it as
> | "bash configure" and see if that helps.
> 
> GNU bash, version 2.05b.0(1)-release (i386-slackware-linux-gnu)
> 
> Doing "bash configure" goes into a (presumable the same) loop.
> 
> There is a file called "configure.lineno" in the source directory that is
> being rewritten over and over and over.  It looks like the "configure"
> script with $LINENO replaced by line numbers.

Ah.  Then this test starting at line 100 is always failing:

  as_lineno_1=$LINENO
  as_lineno_2=$LINENO
  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
  test "x$as_lineno_1" != "x$as_lineno_2" &&
  test "x$as_lineno_3"  = "x$as_lineno_2"  || {

In the first pass, $LINENO is null, so the conditional code after the ||
is executed, which filters the configure script into configure.lineno,
replacing all occurances of '$LINENO' with the line number of the line
that it is on.  It then 'source's that.  Which runs the above test
again, which should succeed and then go on to do the configuration.

But in your case that test fails the second time around (and so on it
recurses, infinitely, rewriting configure.lineno over and over).

Something is apparently wrong either with expr or with bash.

What does the above code look like in the configure.lineno file?

BTW, were you able to configure successfully with 2.5.6 or 2.5.7?
-- 
        John Van Essen  Univ of MN Alumnus  <vanes002 at umn.edu>



More information about the rsync mailing list