Re: [GNU Autoconf 2.60] testsuite: 3 133 135 failed

2006-10-26 Thread Ralf Wildenhues
Hello Jeph,

Thanks for the report.

* Jeph Cowan wrote on Wed, Oct 25, 2006 at 06:33:13PM CEST:
 
 Attached is the testsuite.log file with more info on the failed tests.

The failure of test 3 is due to a bug in Autoconf's test suite; it can
safely be ignored.

The failures of the AC_F77_WRAPPERS and AC_FC_WRAPPERS tests look like
an installation problem with either GCC or the assembler on your system,
all compilation tests fail:

 configure:2858: checking whether we are using the GNU C compiler
 configure:2895: gcc -c   conftest.c 5
 Assembler:
 /tmp//cchBVANa.s: line 9: Only .llong should be used for relocatable 
 expressions.
 configure:2901: $? = 1
 configure: failed program was:
 | /* confdefs.h.  */
 | #define PACKAGE_NAME 
 | #define PACKAGE_TARNAME 
 | #define PACKAGE_VERSION 
 | #define PACKAGE_STRING 
 | #define PACKAGE_BUGREPORT 
 | /* end confdefs.h.  */
 |
 | #ifdef F77_DUMMY_MAIN
 |
 | #  ifdef __cplusplus
 |  extern C
 | #  endif
 |int F77_DUMMY_MAIN() { return 1; }
 |
 | #endif
 | int
 | main ()
 | {
 | #ifndef __GNUC__
 |choke me
 | #endif
 |
 |   ;
 |   return 0;
 | }
 configure:2935: result: no

Once you figure out how to fix that, those tests should pass.

 Also 
 note that the 'make check' was started at 8:28AM and finished the following 
 morning at 00:46, some 16+ hours later. Am I doing something wrong?

No.  The native AIX shell really is so much slower than a decent shell
when handling large and complex shell scripts.  It helps _a lot_ to use
bash on AIX.  I think you can do that by configuring packages this way,
assuming bash is installed as /bin/bash:
  CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash

 The 
 same check ran in about 20 minutes on one of our linux systems. Are there 
 serious repercussions due to the failed tests so that I shouldn't install 
 the software?

No, except maybe that Autoconf should find and a better shell by itself.
It's not so easy however to efficiently test for is this shell
agonizingly slow in a configure script.  You can install Autoconf
and use it as you like.

Cheers,
Ralf




Re: Autoconf fails tests 24 and 26 with M4 branch-1_4 now

2006-10-26 Thread Eric Blake
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

According to Ralf Wildenhues on 10/26/2006 12:52 AM:
 I'm seeing further destabilization in the Autoconf/M4 combo.
 My increased focus on testing this combination is because:
 - there was an announcement that the next Autoconf release may be
   released soon,
 - due to Stepan's recent changes to Autoconf, it practically now
   *requires* at least M4 1.4.7 to operate properly.  So if it finally
   turns out that 1.4.7 has a regression over previous M4 releases, there
   is a trap situation for users.

Which change are you referring to that requires 1.4.7 or greater?  To my
knowledge, even the original M4 1.4 from ten years ago can still make it
through the 2.61 testsuite.  The change to quit redirecting stdin from
/dev/null was only for M4 CVS head, and has no bearing on 1.4.x behavior.

On the other hand, last night I found a bug in 1.4.7 that can potentially
lead to arbitrary code execution, due to an allocation overflow in the
divert builtin.  Recommending 1.4.8 is not necessarily a bad idea for the
security conscious (I'm hoping to release 1.4.8 this weekend, but there is
still an outstanding gnulib patch that mkdtemp does not compile on mingw
that I need to get resolved).

 
 Here are the failures.  By the way, there was a time when version
 requirements were not quite as strict, by the way.
 
 Cheers,
 Ralf
 
 # -*- compilation -*-
 24. m4sugar.at:51: testing ...
...

 --- - 2006-10-26 08:34:34.110204000 +0200
 +++ /tmp/autoconf/build/tests/testsuite.dir/at-stdout 2006-10-26 
 08:34:34.0 +0200
 @@ -1,6 +1,6 @@
  script.4s:6: warning: obsolete
  script.4s:7: warning: cross
 -script.4s:3: cross_warning is expanded from...
 +script.4s:2: cross_warning is expanded from...
  script.4s:7: the top level
  script.4s:8: warning: syntax
  

 26. m4sugar.at:121: testing ...
 +++ /tmp/autoconf/build/tests/testsuite.dir/at-stdout 2006-10-26 
 08:34:34.0 +0200
 @@ -1,7 +1,7 @@
  script.4s:12: error: m4_require: circular dependency of foo
 -script.4s:5: bar is expanded from...
 -script.4s:2: foo is expanded from...
 -script.4s:8: baz is expanded from...
 +script.4s:4: bar is expanded from...
 +script.4s:1: foo is expanded from...
 +script.4s:7: baz is expanded from...

Both of these are again line-number related.  Now that the __line__
invoked under the hood by m4_defun in 1.4.7a tracks the location of the
m4_defun's open (, rather than the location of the ), the solution is to
collapse the testsuite use of m4_defun to a single line.  Here's a
proposed testsuite patch:

2006-10-26  Eric Blake  [EMAIL PROTECTED]

* tests/m4sugar.at (m4_warn, m4_require: circular dependencies):
Also work with M4 1.4.8.

- --
Life is short - so eat dessert first!

Eric Blake [EMAIL PROTECTED]
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFQKf984KuGfSFAYARAqSHAJ9abrb3QYKUoBKvDV6JcsItncUgggCghrD/
BuFiiBgmd/Yh5ReQyxcHLok=
=fALv
-END PGP SIGNATURE-
Index: tests/m4sugar.at
===
RCS file: /sources/autoconf/autoconf/tests/m4sugar.at,v
retrieving revision 1.31
diff -u -p -r1.31 m4sugar.at
--- tests/m4sugar.at20 Jun 2006 05:35:38 -  1.31
+++ tests/m4sugar.at26 Oct 2006 12:13:04 -
@@ -59,8 +59,7 @@ AT_SETUP([m4@[EMAIL PROTECTED])
 
 AT_DATA_M4SUGAR([script.4s],
 [[m4_init
-m4_defun([cross_warning],
-[m4_warn([cross],  [cross])])
+m4_defun([cross_warning], [m4_warn([cross],  [cross])])
 
 m4_divert([0])dnl
 m4_warn([obsolete],  [obsolete])dnl
@@ -69,27 +68,27 @@ m4_warn([syntax], [syntax])dnl
 ]])
 
 AT_CHECK_M4SUGAR([-o-], 0, [],
-[script.4s:8: warning: syntax
+[script.4s:7: warning: syntax
 ])
 
 AT_CHECK_M4SUGAR([-o- -Wall -f], 0, [],
-[script.4s:6: warning: obsolete
-script.4s:7: warning: cross
-script.4s:3: cross_warning is expanded from...
-script.4s:7: the top level
-script.4s:8: warning: syntax
+[script.4s:5: warning: obsolete
+script.4s:6: warning: cross
+script.4s:2: cross_warning is expanded from...
+script.4s:6: the top level
+script.4s:7: warning: syntax
 ])
 
 AT_CHECK_M4SUGAR([-o- -Wnone,cross -f], 0, [],
-[script.4s:7: warning: cross
-script.4s:3: cross_warning is expanded from...
+[script.4s:6: warning: cross
+script.4s:2: cross_warning is expanded from...
 script.4s:7: the top level
 ])
 
 AT_CHECK_M4SUGAR([-o- -Wnone,cross,error -f], 1, [],
-[[script.4s:7: warning: cross
-script.4s:3: cross_warning is expanded from...
-script.4s:7: the top level
+[[script.4s:6: warning: cross
+script.4s:2: cross_warning is expanded from...
+script.4s:6: the top level
 ]])
 
 AT_CLEANUP
@@ -125,14 +124,11 @@ AT_SETUP([m4@[EMAIL PROTECTED]: circular depen
 # m4-listification.
 
 AT_DATA_M4SUGAR([script.4s],
-[[m4_defun([foo],
-[m4_require([bar])])
+[[m4_defun([foo], [m4_require([bar])])
 

[GNU Autoconf 2.60b] testsuite: 77 failed

2006-10-26 Thread Elias Pipping


testsuite.log
Description: Binary data


Re: [GNU Autoconf 2.60b] testsuite: 77 failed

2006-10-26 Thread Paul Eggert
Thanks for reporting that.  Can you please verify that the following C
program does not compile, on your platform?

   static long int longval () { return **0**; }
   static unsigned long int ulongval () { return **0**; }
   #include stdio.h
   #include stdlib.h
   int
   main ()
   {

 FILE *f = fopen (conftest.val, w);
 if (! f)
   return 1;
 if ((**0**)  0)
   {
 long int i = longval ();
 if (i != (**0**))
   return 1;
 fprintf (f, %ld\n, i);
   }
 else
   {
 unsigned long int i = ulongval ();
 if (i != (**0**))
   return 1;
 fprintf (f, %lu\n, i);
   }
 return ferror (f) || fclose (f) != 0;

 ;
 return 0;
   }

I.e., can you verify that the command gcc -g -O2 foo.c; echo $?
echos a nonzero value at the end?  Here's what happens on my platform:

   $ gcc -g -O2 foo.c; echo $?
   foo.c: In function 'longval':
   foo.c:1: error: invalid type argument of 'unary *'
   foo.c:1: error: expected expression before ';' token
   foo.c: In function 'main':
   foo.c:12: error: invalid type argument of 'unary *'
   foo.c:12: error: expected expression before ')' token
   foo.c:15: error: invalid type argument of 'unary *'
   foo.c:15: error: expected expression before ')' token
   foo.c:22: error: 'i' undeclared (first use in this function)
   foo.c:22: error: (Each undeclared identifier is reported only once
   foo.c:22: error: for each function it appears in.)
   foo.c:22: error: invalid type argument of 'unary *'
   foo.c:22: error: expected expression before ')' token
   1

For now, I'll assume that it does not compile, and so I installed the
following patch, but I'd like you to verify my assumption.  Thanks.

2006-10-26  Paul Eggert  [EMAIL PROTECTED]

* tests/base.at (AC_COMPUTE_INT): Test **0** rather than 1 / 0,
since powerpc-apple-darwin8-gcc-4.0.1 (Apple Computer, Inc. build
5363) simply issues a warning when dividing by zero at compile
time.  Problem reported by Elias Pipping.

--- tests/base.at   23 Oct 2006 06:12:40 -  1.40
+++ tests/base.at   26 Oct 2006 19:28:13 -
@@ -230,12 +230,12 @@

 AT_DATA([configure.ac],
 [[AC_INIT
-AC_COMPUTE_INT([divide_by_zero],
-  [1 / 0],
+AC_COMPUTE_INT([invalid_expression],
+  [**0**],
   [],
-  [divide_by_zero=failed])
-test $divide_by_zero = failed ||
-  AC_MSG_ERROR([1 / 0 did not fail])
+  [invalid_expression=failed])
+test $invalid_expression = failed ||
+  AC_MSG_ERROR([**0** evaluated to $invalid_expression instead of failing])
 ]])

 AT_CHECK_AUTOCONF