bug-autoconf
[Top][All Lists]
Advanced

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

Re: Autoconf 2.60a on UnixWare 7.1.4


From: Tim Rice
Subject: Re: Autoconf 2.60a on UnixWare 7.1.4
Date: Mon, 11 Sep 2006 19:28:01 -0700 (PDT)

On Mon, 11 Sep 2006, Ralf Wildenhues wrote:

> * Tim Rice wrote on Mon, Sep 11, 2006 at 03:35:11AM CEST:
> > 
> > I got an opportunity to test 2.60a on UnixWare 7.1.4.
> 
> > --------< snip from test 168's config.status >-------
> > # Find out whether ``test -x'' works.  Don't use a zero-byte file, as
> > # systems may use methods other than mode bits to determine executability.
> > cat >conf$$.file <<_ASEOF
> > #! /bin/sh
> > exit 0
> > SESEOF
> > chmod +x conf$$.file
> 
> > I have no idea why SESEOF is there instead of _ASEOF
> > I had updated to m4-1.4.6 so just to make sure it wasn't a m4-1.4.6
> > problem, I went back to m4-1.4.4 and re-tested. Same problem.
> 
> The problem can't be with m4, because the configure script looks
> identical to the one generated on a sane system, only the generated
> config.status file is bogus at this position.  I assume another bug wrt.
> here-documents.  Let's see: the problem occurs on line 256 of the
> generated config.status script, near byte 6524.  This part is completely
> generated from the first here-document that contains config.status; it's
> delimited by \_ACEOF (thus no variable expansion within).
> 
> Does the bug go away when you insert 1 (2, 3) empty lines before the
> inner here-document in the configure script (i.e., before line 2003)?
> What if instead you just insert some bytes before (e.g., in the
> comment)?  Does the problem go away if you replace the inner
> here-document by
>   echo '#! /bin/sh
>   exit 0' >conf$$.file
> 
> And for those methods that work, could you retest, this time applying
> the change to autoconf/lib/m4sugar/m4sh.sh:_AS_TEST_PREPARE (it will
> cause changes to more than one point in the configure script)?

Applying this patch makes it work.
....
--- lib/m4sugar/m4sh.m4.old     2006-06-19 22:35:38.000000000 -0700
+++ lib/m4sugar/m4sh.m4 2006-06-19 22:35:38.000000000 -0700
@@ -1021,6 +1021,7 @@
 m4_defun([_AS_TEST_PREPARE],
 [# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
 # systems may use methods other than mode bits to determine executability.
+
 cat >conf$$.file <<_ASEOF
 #! /bin/sh
 exit 0
....

In another e-mail, Paul suggests:
    So this very much looks like the same sort of problem that we already
    know that ksh has with here-documents and variables.  He might try
    uniformly replacing _ASEOF with FOOEOF (without making any other
    changes) and see whether the word gets munged to OEOEOF.

So I tried this patch (on a fresh tree). Tests passed.
....
--- lib/m4sugar/m4sh.m4.old     2006-06-19 22:35:38.000000000 -0700
+++ lib/m4sugar/m4sh.m4 2006-06-19 22:35:38.000000000 -0700
@@ -1021,10 +1021,10 @@
 m4_defun([_AS_TEST_PREPARE],
 [# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
 # systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
+cat >conf$$.file <<FOOEOF
 #! /bin/sh
 exit 0
-_ASEOF
+FOOEOF
 chmod +x conf$$.file
 if test -x conf$$.file >/dev/null 2>&1; then
   as_executable_p="test -x"
....

I'm not sure why this should make things work.

I had also tried doing a global s/_ASEOF/FOOEOF/ on configure and
lib/m4sugar/m4sh.m4 (the only 2 files that contained the pattern _ASEOF).
Tests passed.
...
277 tests behaved as expected.
9 tests were skipped.
...

I'll be out of the office the 12th - 18th.
I can do more testing when I return.

-- 
Tim Rice                                Multitalents    (707) 887-1469
address@hidden






reply via email to

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