Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86

2023-12-21 Thread Nick Bowler
On 2023-12-21 19:26, Paul Eggert wrote:
> On 2023-12-21 13:19, Zack Weinberg wrote:
>> Sorry, I'm with GNU here: failure to report errors on writing to
>> stdout is a bug.  No excuses will be accepted.
> 
> Agreed. printf commands that silently succeed when they can't do the
> requested action are simply broken.

I tested several modern, current operating systems, including:
  OpenBSD 7, NetBSD 9, FreeBSD 13, Alpine Linux 3.15
I also tested several not-so-modern systems, including:
  DJGPP, HP-UX 11, Solaris 8.

On every single one of these systems, the /usr/bin/printf (or equivalent)
does not generally diagnose errors that occur when writing to standard
output, and an exit status of 0 is returned.

Further notes:

The shell on FreeBSD has a printf builtin which does diagnose such
errors and does exit with a nonzero status.

The shell on Alpine has a printf builtin which does not diagnose such
errors but does exit with a nonzero status.

The shell on NetBSD has a printf builtin which does not diagnose such
errors and exits with a 0 status.

The DJGPP bash shell has a printf builtin which does not diagnose such
errors and exits with a 0 status.

The version of bash that comes with Solaris 8 has a printf builtin which
does not diagnose such errors and exits with a 0 status.

The other systems tested do not have printf builtins in their shells, so
plain "printf" invokes "simply broken" /usr/bin/printf.

So sure, we can call it a "bug" and we can call these systems "simply
broken" but the reality is that these systems exist and portability means
dealing with this behaviour even if it is not what we wish they would do
or what some piece of paper says they should do.

There are probably a lot more systems with a "simply broken" printf,
as the printf utilities in SVr4 and 4.4BSD will also behave like this...

Cheers,
  Nick



Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86

2023-12-21 Thread Paul Eggert

On 2023-12-21 19:56, Nick Bowler wrote:

On 2023-12-21 19:34, Paul Eggert wrote:

   ulimit -f 0
   trap "" XFSZ
   printf "test" >test || echo failed with status $?

which issues the following diagnostics on Solaris 10 /bin/sh:

   printf: write error: File too large
   failed with status 1

I think you might want to double check your test setup.


Oh, you're right. I put /opt/sfw/bin early in my PATH. 
/opt/sfw/bin/printf is part of Solaris (it's in the SFWcoreu package) 
but it is optional and obviously not everybody puts it early.


With PATH='/usr/bin' I get the broken (non-POSIX) behavior.



Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86

2023-12-21 Thread Nick Bowler
On 2023-12-21 19:34, Paul Eggert wrote:
>   ulimit -f 0
>   trap "" XFSZ
>   printf "test" >test || echo failed with status $?
> 
> which issues the following diagnostics on Solaris 10 /bin/sh:
> 
>   printf: write error: File too large
>   failed with status 1

I think you might want to double check your test setup.  This error
message is exactly what you'd get if you are running printf from a
recent release of GNU coreutils, rather than the /usr/bin/printf
that comes with Solaris.

I don't have a Solaris 10 box handy for testing right now but neither
Solaris 8 /usr/bin/printf nor heirloom-tools printf (which is ported
from OpenSolaris, contemporaneous with Solaris 10) print this error
message, and neither exit with status 1.

Cheers,
  Nick



Re: [GNU Autoconf 2.72e] testsuite: 11 41 failed on OS X 10.6

2023-12-21 Thread Sevan Janiyan

Same test failures on OS X 10.11.
automake was included in OS X until 10.7 where it was removed.
If it's not detected, the tests are skipped. It was only going back to 
10.4 that I attempted to use a new version of automake with autoconf 
testing, but it looks like test #41 fails given an up to date version of 
automake on OS X 10.4, 10.6, 10.11.




Sevan



[GNU Autoconf 2.72e] testsuite: 11 41 failed on OS X 10.6

2023-12-21 Thread Sevan Janiyan

Intel laptop running 10.6.8 with m4 1.4.18, automake 1.16.5.


## -- ##
## GNU Autoconf 2.72e test suite. ##
## -- ##

testsuite: command line was:
  $ tests/testsuite -C tests MAKE=make

## -- ##
## ChangeLog. ##
## -- ##

| 2023-12-20  Zack Weinberg  
|
|   update NEWS for 2.72e release candidate
|
|   spelling errors reported by “make syntax-check”
|
| 2023-12-19  Zack Weinberg  
|
|   Adjust --help and manpages to make it easier to find the Web manual.
|   Today it came to my attention that, if you don’t already know that all

## - ##
## Platform. ##
## - ##

hostname = mba.local
uname -m = i386
uname -r = 10.8.0
uname -s = Darwin
uname -v = Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; 
root:xnu-1504.15.3~1/RELEASE_I386


/usr/bin/uname -p = i386
/bin/uname -X = unknown

/bin/arch  = unknown
/usr/bin/arch -k   = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo  = Mach kernel version:
	 Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; 
root:xnu-1504.15.3~1/RELEASE_I386

Kernel configured for up to 2 processors.
2 processors are physically available.
2 processors are logically available.
Processor type: i486 (Intel 80486)
Processors active: 0 1
Primary memory available: 2.00 gigabytes
Default processor set: 75 tasks, 235 threads, 2 processors
Load average: 3.83, Mach factor: 0.42
/bin/machine   = unknown
/usr/bin/oslevel   = unknown
/bin/universe  = unknown

PATH: /Users/sme/Downloads/autoconf-2.72e/tests/
PATH: /Users/sme/Downloads/autoconf-2.72e/tests/
PATH: /Users/sme/teabrew/opt/m4/bin/
PATH: /Users/sme/teabrew/opt/automake/bin/
PATH: /usr/bin/
PATH: /bin/
PATH: /usr/sbin/
PATH: /sbin/
PATH: /usr/X11/bin/

testsuite: atconfig:
| # Configurable variable values for building test suites.
| # Generated by ./config.status.
| # Copyright (C) 2023 Free Software Foundation, Inc.
|
| # The test suite will define top_srcdir=/../.. etc.
| at_testdir='tests'
| abs_builddir='/Users/sme/Downloads/autoconf-2.72e/tests'
| at_srcdir='.'
| abs_srcdir='/Users/sme/Downloads/autoconf-2.72e/tests'
| at_top_srcdir='..'
| abs_top_srcdir='/Users/sme/Downloads/autoconf-2.72e'
| at_top_build_prefix='../'
| abs_top_builddir='/Users/sme/Downloads/autoconf-2.72e'
|
| # Backward compatibility with Autotest <= 2.59b:
| at_top_builddir=$at_top_build_prefix
|
| AUTOTEST_PATH='tests'
|
| SHELL=${CONFIG_SHELL-'/bin/sh'}

testsuite: atlocal:
| # -*- shell-script -*-
| # tests/atlocal.  Generated from atlocal.in by configure.
| # Configurable variable values for Autoconf test suite.
|
| # Copyright (C) 2000-2001, 2005, 2008-2017, 2020-2023 Free Software
| # Foundation, Inc.
| #
| # This program is free software: you can redistribute it and/or modify
| # it under the terms of the GNU General Public License as published by
| # the Free Software Foundation, either version 3 of the License, or
| # (at your option) any later version.
| #
| # This program is distributed in the hope that it will be useful,
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
| # GNU General Public License for more details.
| #
| # You should have received a copy of the GNU General Public License
| # along with this program.  If not, see .
|
| AWK='awk'
| EGREP='/usr/bin/grep -E'
| GREP='/usr/bin/grep'
| M4='/Users/sme/teabrew/opt/m4/bin/m4'
| PERL='/usr/bin/perl'
| SED='/usr/bin/sed'
|
| # We need to know if sh -n is ok.
| SHELL_N='/bin/sh'
|
| # Check whether the underlying system can manage some unusual
| # symbols in file names.
| if test -z ''; then
|   func_sanitize_file_name () { echo "$@"; }
| else
|   func_sanitize_file_name () { echo "$@" | tr -d ''; }
| fi
|
| # Can we create directories with trailing whitespace in their names?
| ac_cv_dir_trailing_space='yes'
| if test "$ac_cv_dir_trailing_space" = yes; then
|   func_sanitize_dir_name () { echo "$@"; }
| else
|   func_sanitize_dir_name () { echo "$@" | sed 's/  *$//'; }
| fi
|
| # AUTOM4TE might be set in the environment.  Override it here so that
| # direct aclocal invocations also use it.
| AUTOM4TE=autom4te
| export AUTOM4TE

./local.at:34: using 1s as timestamp resolution

##  ##
## Tested programs. ##
##  ##

./local.at:25: /Users/sme/Downloads/autoconf-2.72e/tests/autom4te --version
autom4te (GNU Autoconf) 2.72e
Features: subsecond-mtime

Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
, 


This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Akim Demaille.

./local.at:25: /Users/sme/Downloads/autoconf-2.72e/tests/autoconf --version
autoconf (GNU Autoconf) 2.72e

Re: [GNU Autoconf 2.72e] testsuite: 11 40 41 45 280 281 282 286 287 failed on OS X 10.4

2023-12-21 Thread Sevan Janiyan

On 21/12/2023 18:11, Zack Weinberg wrote:

I have pushed a change which should make the test suite skip all
the tests that won't work if it encounters an aclocal that doesn't
understand --system-acdir. That includes all of 40 41 45 280 281
282 286 287.


Great. I haven't tested the latest code from the git repo since the 
bootstrap process has a coreutils dependency (calls realpath, didn't dig 
further) and current coreutils is broken on OS X.
Maybe I can try applying a patch of your commit to the published RC 
archive. All my testing has been with the source from autoconf-2.72e.tar.gz.



Sevan



Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86

2023-12-21 Thread Paul Eggert

On 2023-12-21 13:46, Alan Coopersmith wrote:

On Solaris 11.4, /bin/sh is currently a somewhat modified ksh93u+ -
we're working to resync with the new community upstream still.

In that shell, when I run:
   printf "test" /dev/full
it prints nothing and $? is set to 0.


This appears to be a regression from Solaris 10 and Solaris 11.3. 
Although they lack /dev/full they do have other ways for printf to fail, 
e.g.:


  ulimit -f 0
  trap "" XFSZ
  printf "test" >test || echo failed with status $?

which issues the following diagnostics on Solaris 10 /bin/sh:

  printf: write error: File too large
  failed with status 1

and the following on Solaris 11.3 /bin/sh:

  /bin/sh[3]: printf: write to 1 failed [File too large]
  failed with status 1

but I guess quietly succeeds on Solaris 11.4 (I lack easy access to a 
Solaris 11.4 box).




Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86

2023-12-21 Thread Paul Eggert

On 2023-12-21 13:19, Zack Weinberg wrote:


Sorry, I'm with GNU here: failure to report errors on writing to stdout
is a bug.  No excuses will be accepted.


Agreed. printf commands that silently succeed when they can't do the 
requested action are simply broken.


Even if one is not convinced by GNU's good-citizen example, POSIX 
requires printf to fail with a diagnostic in this situation. Here's 
chapter and verse:


https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/printf.html#tag_20_94_15

says "CONSEQUENCES OF ERRORS" are "Default", and

https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/V3_chap01.html#tag_17_04

says that utilities must issue a diagnostic on stderr and exit with 
nonzero status when they cannot do the requested action.




Re: [GNU Autoconf 2.72e] testsuite: 11 40 41 45 280 281 282 286 287 failed on OS X 10.4

2023-12-21 Thread Sevan Janiyan

On 21/12/2023 23:09, Sevan Janiyan wrote:
I wonder if using an up to date make on Tiger will resolve the issue 
with test #41. Will try and report back.


Test #41 still fails when using GNU make 4.4.

Sevan



Re: [GNU Autoconf 2.72e] testsuite: 11 40 41 45 280 281 282 286 287 failed on OS X 10.4

2023-12-21 Thread Sevan Janiyan

With up to date automake & m4, I only get 2 test failures on OS X 10.4 now.
[GNU Autoconf 2.72e] testsuite: 11 41 failed

I used automake 1.16.5 & m4 1.4.19
and still used the ancient GNU Make 3.80 which comes with OS X Tiger.

Whilst here, I tested on OS X 10.5 (on intel), and had the same 
testsuite failures as in the subject line, using up to date automake & 
m4 and reruning the testsuite resulted in just 1 test failure, as 
expected, #11.


I wonder if using an up to date make on Tiger will resolve the issue 
with test #41. Will try and report back.


## -- ##
## GNU Autoconf 2.72e test suite. ##
## -- ##

testsuite: command line was:
  $ tests/testsuite -C tests MAKE=make

## -- ##
## ChangeLog. ##
## -- ##

| 2023-12-20  Zack Weinberg  
|
|   update NEWS for 2.72e release candidate
|
|   spelling errors reported by “make syntax-check”
|
| 2023-12-19  Zack Weinberg  
|
|   Adjust --help and manpages to make it easier to find the Web manual.
|   Today it came to my attention that, if you don’t already know that all

## - ##
## Platform. ##
## - ##

hostname = imac.local
uname -m = Power Macintosh
uname -r = 8.11.0
uname -s = Darwin
uname -v = Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; 
root:xnu-792.24.17~1/RELEASE_PPC


/usr/bin/uname -p = powerpc
/bin/uname -X = unknown

/bin/arch  = unknown
/usr/bin/arch -k   = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo  = Mach kernel version:
	 Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; 
root:xnu-792.24.17~1/RELEASE_PPC

Kernel configured for a single processor only.
1 processor is physically available.
Processor type: ppc970 (PowerPC 970)
Processor active: 0
Primary memory available: 2.00 gigabytes
Default processor set: 58 tasks, 141 threads, 1 processors
Load average: 2.14, Mach factor: 0.18
/bin/machine   = unknown
/usr/bin/oslevel   = unknown
/bin/universe  = unknown

PATH: /Users/sme/tmp/autoconf-2.72e/tests/
PATH: /Users/sme/Sandbox/tigerbrew/opt/automake/bin/
PATH: /Users/sme/Sandbox/tigerbrew/opt/m4/bin/
PATH: /bin/
PATH: /sbin/
PATH: /usr/bin/
PATH: /usr/sbin/

testsuite: atconfig:
| # Configurable variable values for building test suites.
| # Generated by ./config.status.
| # Copyright (C) 2023 Free Software Foundation, Inc.
|
| # The test suite will define top_srcdir=/../.. etc.
| at_testdir='tests'
| abs_builddir='/Users/sme/tmp/autoconf-2.72e/tests'
| at_srcdir='.'
| abs_srcdir='/Users/sme/tmp/autoconf-2.72e/tests'
| at_top_srcdir='..'
| abs_top_srcdir='/Users/sme/tmp/autoconf-2.72e'
| at_top_build_prefix='../'
| abs_top_builddir='/Users/sme/tmp/autoconf-2.72e'
|
| # Backward compatibility with Autotest <= 2.59b:
| at_top_builddir=$at_top_build_prefix
|
| AUTOTEST_PATH='tests'
|
| SHELL=${CONFIG_SHELL-'/bin/sh'}

testsuite: atlocal:
| # -*- shell-script -*-
| # tests/atlocal.  Generated from atlocal.in by configure.
| # Configurable variable values for Autoconf test suite.
|
| # Copyright (C) 2000-2001, 2005, 2008-2017, 2020-2023 Free Software
| # Foundation, Inc.
| #
| # This program is free software: you can redistribute it and/or modify
| # it under the terms of the GNU General Public License as published by
| # the Free Software Foundation, either version 3 of the License, or
| # (at your option) any later version.
| #
| # This program is distributed in the hope that it will be useful,
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
| # GNU General Public License for more details.
| #
| # You should have received a copy of the GNU General Public License
| # along with this program.  If not, see .
|
| AWK='awk'
| EGREP='/usr/bin/grep -E'
| GREP='/usr/bin/grep'
| M4='/Users/sme/Sandbox/tigerbrew/opt/m4/bin/m4'
| PERL='/usr/bin/perl'
| SED='/usr/bin/sed'
|
| # We need to know if sh -n is ok.
| SHELL_N='/bin/sh'
|
| # Check whether the underlying system can manage some unusual
| # symbols in file names.
| if test -z ''; then
|   func_sanitize_file_name () { echo "$@"; }
| else
|   func_sanitize_file_name () { echo "$@" | tr -d ''; }
| fi
|
| # Can we create directories with trailing whitespace in their names?
| ac_cv_dir_trailing_space='yes'
| if test "$ac_cv_dir_trailing_space" = yes; then
|   func_sanitize_dir_name () { echo "$@"; }
| else
|   func_sanitize_dir_name () { echo "$@" | sed 's/  *$//'; }
| fi
|
| # AUTOM4TE might be set in the environment.  Override it here so that
| # direct aclocal invocations also use it.
| AUTOM4TE=autom4te
| export AUTOM4TE

./local.at:34: using 1s as timestamp resolution

##  ##
## Tested programs. ##
##  ##

./local.at:25: /Users/sme/tmp/autoconf-2.72e/tests/autom4te --version
autom4te (GNU Autoconf) 2.72e

Copyright (C) 2023 Free Software Foundation, Inc.
License 

Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86

2023-12-21 Thread Alan Coopersmith

On 12/21/23 13:46, Alan Coopersmith wrote:

On Solaris 11.4, /bin/sh is currently a somewhat modified ksh93u+ -
we're working to resync with the new community upstream still.

In that shell, when I run:
   printf "test" /dev/full
it prints nothing and $? is set to 0.

The same happens with /usr/bin/printf instead of the shell builtin.


If I run bash instead, with its builtin printf, I see:

bash-5.2$ printf "test" /dev/full
bash: printf: write error: No space left on device

which is presumably what the test suite is expecting.

--
-Alan Coopersmith- alan.coopersm...@oracle.com
 Oracle Solaris Engineering - https://blogs.oracle.com/solaris




Re: m4_foreach_w(...AC_DEFINE...) expansion change in 2.72e?

2023-12-21 Thread Karl Berry
Hi Zack, Paul,

I see the same phenomenon with 2.71

This is the most puzzling thing, since for me I definitely get different
results with 2.71 and 2.72e (which is why I reported it). I can't
imagine what else in my configure.ac would have caused the difference,
but I guess there must be something. Happily, we can "never mind"
looking into it further, because:

Unquote "kpse_otftotfm_auto_opts" in the second foreach (the one
that invokes AC_DEFINE), 

I redid this, and it did solve the problem. I must have been looking at
the wrong output among my myriad tests before. Sorry for the noise.

and insert a newline immediately after the
close parenthesis of the AS_IF().

There was already a newline there. I see I failed to insert the final
line of the m4_foreach_w in my mail. Sorry about that too.

Thanks to you both. -k



Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86

2023-12-21 Thread Alan Coopersmith

On 12/21/23 10:48, Zack Weinberg wrote:

On Thu, Dec 21, 2023, at 12:34 PM, Alan Coopersmith wrote:

For 119, the code in the Solaris find command that prints the
"find: cannot read dir sub/unwritable" message was modified last year
to make it not print that message if -prune was in effect for the directory,
so it's possible a bug in find was introduced by those changes.


Yes, I believe this is a recently introduced bug in Solaris find.
This sequence of shell commands should reproduce:

mkdir sub
mkdir sub/unwritable
touch sub/unwritable/file
chmod a-wx sub/unwritable
find sub -type d ! -perm -700 -exec chmod u+rwx {} \;


It does - I'll file a bug against Solaris find and you can ignore this
report.  (If anyone else hits it, the simple workaround is to use
/usr/gnu/bin/find instead of /usr/bin/find.)


As previously mentioned, the Solaris 11 machine I have access to is
version 11.3 (unknown patch level; if you know how to get anything
more specific than that, please let me know).


On Solaris 11.4, you can use uname -v, but on Solaris 11.3 the easiest
way I know is "pkg info entire" should have a line like:
  Version: 0.5.11 (Oracle Solaris 11.3.21.5.0)


For 261, Solaris gained a /dev/full device in Solaris 11.4.51.
Since the only purpose of this device is to return ENOSPC, I would
hope that it's fully compatible with the implementations on other OS'es,
but I don't know of any testing done to confirm that.


This may be a bug in your /bin/sh or {/usr,}/bin/printf.  The command
that failed in this test is

./config.status --header=-:input /dev/full

which is *expected* to print an error message (on stderr) and exit
unsuccessfully, but on your test machine it printed nothing and exited
successfully.

When I execute this command on my Linux workstation, using the files
'config.status' and 'input' from your tarball, I get

./config.status: line 978: printf: write error: No space left on device
config.status: error: could not create -

and an unsuccessful exit status.  I would guess that on your machine
the printf built-in and/or standalone printf executable are not
reporting write errors.


On Solaris 11.4, /bin/sh is currently a somewhat modified ksh93u+ -
we're working to resync with the new community upstream still.

In that shell, when I run:
  printf "test" /dev/full
it prints nothing and $? is set to 0.

The same happens with /usr/bin/printf instead of the shell builtin.


Since I don't have access to a Solaris 11.4 machine myself, and since
both of these appear to be plain bugs in the shell and utilities, I'm
currently not planning to make any changes because of these failures.


A two year old version of 11.4 (the 11.4.42 update) is available under terms
we hope are suitable for FOSS developers from
https://www.oracle.com/solaris/solaris11/downloads/solaris-downloads.html
if you have a supported SPARC or x86-64 machine to run it on.  Unfortunately
it doesn't include security or other updates, though we hope to get another
update released sometime in the next year or so.

We're also working to make a SPARC Solaris 11.4 machine available to the
gcc build farm, hopefully in the first part of new year.


Please let me know if you disagree; in which case, please suggest what
we should do, because I don't see any good workaround in Autoconf's code
for either issue.


That sounds fine to me.  As noted in other mail, I didn't see any failures
from configure scripts, just from the test suite.

--
-Alan Coopersmith- alan.coopersm...@oracle.com
 Oracle Solaris Engineering - https://blogs.oracle.com/solaris




Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86

2023-12-21 Thread Zack Weinberg
On Thu, Dec 21, 2023, at 3:51 PM, Nick Bowler wrote:
> On 2023-12-21 13:48, Zack Weinberg wrote:
>  > and an unsuccessful exit status.  I would guess that on your machine
>  > the printf built-in and/or standalone printf executable are not
>  > reporting write errors.
>
> I think it is not reasonable to expect any utility to report any kind
> of error on writes to standard output.  This is not normal behaviour
> for C programs and, in the case of printf utilities which are not shell
> builtins, such behaviour is likely unique to GNU.

Sorry, I'm with GNU here: failure to report errors on writing to stdout
is a bug.  No excuses will be accepted.

zw



[sr #110986] "autoconf: forbidden tokens, basic" testsuite failure on some systems

2023-12-21 Thread Zack Weinberg
Follow-up Comment #2, sr#110986 (group autoconf):

This is a regression caused by commit 
,
"Fix timing bug on high-speed builds".  That commit changed autom4te's logic
for deciding whether its output file is newer than its cache file: if their
modification times are equal, the output is considered out of date.  Since
both files are created in quick succession, on file systems with coarse
timestamps (1 or 2s resolution), it is very easy for their modification times
to be equal.

For 2.72 I'm going to make the test suite adjust the modification time of the
file that's supposed to be newer, but I'm also going to leave this bug open,
because autom4te _ought_ to be able to ensure that the cache file is always
observed to be older than the output.


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86

2023-12-21 Thread Nick Bowler

On 2023-12-21 13:48, Zack Weinberg wrote:
> and an unsuccessful exit status.  I would guess that on your machine
> the printf built-in and/or standalone printf executable are not
> reporting write errors.

I think it is not reasonable to expect any utility to report any kind
of error on writes to standard output.  This is not normal behaviour
for C programs and, in the case of printf utilities which are not shell
builtins, such behaviour is likely unique to GNU.

Without /dev/full it is difficult to portably trigger write errors,
but NetBSD 9 has /dev/full and its /usr/bin/printf also does not
report such errors.

You can more reliably get errors by redirecting to a pipe and closing
the read end. since in this case the SIGPIPE will not go unnoticed,
(although an ignored SIGPIPE is inherited from the parent process which
may affect the results).  This can be tricky to setup in a shell script
though.

Cheers,
  Nick



Re: m4_foreach_w(...AC_DEFINE...) expansion change in 2.72e?

2023-12-21 Thread Zack Weinberg
On Thu, Dec 21, 2023, at 2:39 PM, Paul Eggert wrote:
> I'm seeing the same bug with Autoconf 2.69 on RHEL 7. Tarball attached
> with the configure.ac that I used, and the output of "autoheader" and
> "autoconf".

Thanks for checking, Paul.

I see the same phenomenon with 2.71, I can't reproduce any difference
between 2.71 and 2.72 (dev trunk), and I can fix the generated
config.h.in and configure by making two changes: Unquote
"kpse_otftotfm_auto_opts" in the second foreach (the one that invokes
AC_DEFINE), and insert a newline immediately after the close parenthesis
of the AS_IF().

The second change is not necessary to make m4_foreach_w iterate, but it
*is* necessary to prevent the *result* of the iteration from running
each "fi" together with the next "if", causing shell syntax errors.

Optionally, also change AC_FOREACH to m4_foreach_w to fix the warning
about AC_FOREACH being obsolete.

Karl: you said that unquoting "kpse_otftotfm_auto_opts" did _not_ fix
the problem for you.  Is it possible that there's some difference
between the complete Texlive configure script and the cut-down version
you posted, that's responsible for this?

zw



Re: m4_foreach_w(...AC_DEFINE...) expansion change in 2.72e?

2023-12-21 Thread Paul Eggert
I'm seeing the same bug with Autoconf 2.69 on RHEL 7. Tarball attached 
with the configure.ac that I used, and the output of "autoheader" and 
"autoconf". "autoconf" complains:


configure.ac:5: warning: The macro `AC_FOREACH' is obsolete.
configure.ac:5: You should run autoupdate.
./lib/autoconf/general.m4:191: AC_FOREACH is expanded from...
configure.ac:5: the top level


autoconf-bug.tar.gz
Description: application/gzip


Re: m4_foreach_w(...AC_DEFINE...) expansion change in 2.72e?

2023-12-21 Thread Zack Weinberg
On Thu, Dec 21, 2023, at 2:20 PM, Zack Weinberg wrote:
> On Thu, Dec 21, 2023, at 1:40 PM, Karl Berry wrote:
>> 2.72e creates a different autoconf.h.in and configure in TeX Live's
>> texk/lcdf-typetools
>> (https://github.com/TeX-Live/texlive-source/tree/trunk/texk/lcdf-typetools):
> ...
>> In other words, what was four separate HAVE_AUTO_* macros have become one.
>>
>> The configure.ac code that generates this runs through those four values
>> using m4_foreach_w
>
> Oof.  I have no idea what's wrong here.  The code for m4_foreach_w has not
> changed since 2008.  What is the most recent version of Autoconf that
> generates autoconf.h.in correctly?

It would also be interesting to know if the --enable arguments are being
generated correctly from this code fragment (should be obvious from
configure --help output) because AC_FOREACH is a obsolete macro that's
*supposed* to be just another name for m4_foreach_w ... except that it
*might* be stripping a layer of quotes.

zw



Re: m4_foreach_w(...AC_DEFINE...) expansion change in 2.72e?

2023-12-21 Thread Zack Weinberg
On Thu, Dec 21, 2023, at 1:40 PM, Karl Berry wrote:
> 2.72e creates a different autoconf.h.in and configure in TeX Live's
> texk/lcdf-typetools
> (https://github.com/TeX-Live/texlive-source/tree/trunk/texk/lcdf-typetools):
...
> In other words, what was four separate HAVE_AUTO_* macros have become one.
>
> The configure.ac code that generates this runs through those four values
> using m4_foreach_w

Oof.  I have no idea what's wrong here.  The code for m4_foreach_w has not
changed since 2008.  What is the most recent version of Autoconf that
generates autoconf.h.in correctly?

zw



Re: [GNU Autoconf 2.72e] testsuite: 11 332 failed on OS X 10.9

2023-12-21 Thread Zack Weinberg
On Thu, Dec 21, 2023, at 1:32 PM, Sevan Janiyan wrote:
> Intel laptop running 10.10.5, m4 included with OS is too old
> (1.4.6), so GNU m4 1.4.18 was used.
...
> ERROR: 549 tests were run,
> 6 failed (4 expected failures).
> 60 tests were skipped.

(ignoring test #11, as that's a known issue)

...
>   332: acc.at:20  AC_PROG_CC_C_O
...
>  > configure:2575: checking for C compiler version
>  > configure:2584: gcc --version >&5
>  > Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
>  > Target: x86_64-apple-darwin13.4.0
...
>  > configure:3008: gcc -std=gnu11 -c -g -O2  conftest.c >&5
>  > configure:3008: $? = 0
>  > configure:3030: result: -std=gnu11
>  > configure:3146: checking whether gcc -std=gnu11 and cc understand -c and 
> -o together
>  > configure:3178: gcc -std=gnu11 -c conftest.cpp -o conftest2.o >&5
>  > error: invalid argument '-std=gnu11' not allowed with 'C++/ObjC++'

Congratulations, you found a bug in Autoconf proper, not just in the
testsuite!  AC_PROG_CC_C_O is specifically a test of the C compiler.
There's another macro AC_PROG_CXX_C_O that does the same test on the
C++ compiler (and two more for Fortran compilers).  They should all be
either refusing to execute under the wrong AC_LANG setting, or ignoring
the AC_LANG setting; not invoking the C compiler, using C-specific options,
on a C++ source file.

As these macros are testing for a feature that's missing only from
very old compilers (from the mid-1990s at the latest), as the thing
the testsuite does to trigger the bug is somewhat bizarre compared to
what any real configure.ac is likely to be doing, and as the above
misuse of the C++ compiler is harmless with *most* versions of GCC
and Clang, I'm going to leave everything as is for release 2.72.
I filed https://savannah.gnu.org/support/index.php?110987 so we
don't forget about it.

zw



[sr #110987] AC_PROG_CC_C_O + AC_LANG([C++]) combines C-specific compiler options with C++ source

2023-12-21 Thread Zack Weinberg
Update of sr#110987 (group autoconf):

Priority:   5 - Unprioritized => 2 - Eventually 

___

Follow-up Comment #1:

Low priority as this affects only unusual configure.ac layout, and as all of
the AC_PROG_*_C_O macros are testing for a problem that exists only in very
old compilers. 


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[sr #110987] AC_PROG_CC_C_O + AC_LANG([C++]) combines C-specific compiler options with C++ source

2023-12-21 Thread Zack Weinberg
URL:
  

 Summary: AC_PROG_CC_C_O + AC_LANG([C++]) combines C-specific
compiler options with C++ source
   Group: Autoconf
   Submitter: zackw
   Submitted: Thu 21 Dec 2023 07:14:49 PM UTC
Priority: 5 - Unprioritized
Severity: 2 - Minor
  Status: Confirmed
 Privacy: Public
 Assigned to: None
Originator Email: 
 Open/Closed: Open
 Discussion Lock: Any
Operating System: None


___

Follow-up Comments:


---
Date: Thu 21 Dec 2023 07:14:49 PM UTC By: Zack Weinberg 
A configure.ac like this


AC_INIT
AC_LANG([C++])
AC_PROG_CC_C_O
...


may (depending on exactly which compiler you have) run a compilation command
that combines C-specific options with a C++ source file.  Some compilers
object to this:


configure:2575: checking for C compiler version
configure:2584: gcc --version >&5
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
...
configure:3008: gcc -std=gnu11 -c -g -O2  conftest.c >&5
configure:3008: $? = 0
configure:3030: result: -std=gnu11
configure:3146: checking whether gcc -std=gnu11 and cc understand -c and -o
together
configure:3178: gcc -std=gnu11 -c conftest.cpp -o conftest2.o >&5
error: invalid argument '-std=gnu11' not allowed with 'C++/ObjC++'


and that in turn causes the test to get the wrong answer, thinking the C++
compiler does *not* support -c and -o together, when it does.

AC_PROG_CC_C_O is specifically a test of the C compiler. There's another macro
AC_PROG_CXX_C_O that does the same test on the C++ compiler (and two more for
Fortran compilers).  They should all be
either refusing to execute under the wrong AC_LANG setting, or ignoring the
AC_LANG setting; not invoking the C compiler, using C-specific options, on a
C++ source file.

Originally reported by Sevan Janiyan.







___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




Re: [GNU Autoconf 2.72e] testsuite: 11 332 failed on OS X 10.9

2023-12-21 Thread Sevan Janiyan

On 21/12/2023 18:32, Sevan Janiyan wrote:

Intel laptop running 10.10.5


That should've been 10.9.5 for this test run.


Sevan



Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86

2023-12-21 Thread Zack Weinberg
On Thu, Dec 21, 2023, at 12:34 PM, Alan Coopersmith wrote:
> For 119, the code in the Solaris find command that prints the
> "find: cannot read dir sub/unwritable" message was modified last year
> to make it not print that message if -prune was in effect for the directory,
> so it's possible a bug in find was introduced by those changes.

Yes, I believe this is a recently introduced bug in Solaris find.
This sequence of shell commands should reproduce:

mkdir sub
mkdir sub/unwritable
touch sub/unwritable/file
chmod a-wx sub/unwritable
find sub -type d ! -perm -700 -exec chmod u+rwx {} \;

As -depth is not in use here, find should execute the chmod _before_
attempting to descend into "sub/unwritable", and that should make the
directory accessible again.  I tested the above sequence of commands on
all the following operating systems, and did not encounter any errors:

aarch64c-freebsd14.0
powerpc-aix7.1.5.0
powerpc-aix7.3.1.0
sparc-solaris2.10
sparc-solaris2.11
x86_64-linux
x86_64-freebsd13.2
x86_64-netbsd9.3
x86_64-openbsd7.4

As previously mentioned, the Solaris 11 machine I have access to is
version 11.3 (unknown patch level; if you know how to get anything
more specific than that, please let me know).

> For 261, Solaris gained a /dev/full device in Solaris 11.4.51.
> Since the only purpose of this device is to return ENOSPC, I would
> hope that it's fully compatible with the implementations on other OS'es,
> but I don't know of any testing done to confirm that.

This may be a bug in your /bin/sh or {/usr,}/bin/printf.  The command
that failed in this test is

./config.status --header=-:input /dev/full

which is *expected* to print an error message (on stderr) and exit
unsuccessfully, but on your test machine it printed nothing and exited
successfully.

When I execute this command on my Linux workstation, using the files
'config.status' and 'input' from your tarball, I get

./config.status: line 978: printf: write error: No space left on device
config.status: error: could not create -

and an unsuccessful exit status.  I would guess that on your machine
the printf built-in and/or standalone printf executable are not
reporting write errors.

Since I don't have access to a Solaris 11.4 machine myself, and since
both of these appear to be plain bugs in the shell and utilities, I'm
currently not planning to make any changes because of these failures.
Please let me know if you disagree; in which case, please suggest what
we should do, because I don't see any good workaround in Autoconf's code
for either issue.

Thanks again for testing.
zw



m4_foreach_w(...AC_DEFINE...) expansion change in 2.72e?

2023-12-21 Thread Karl Berry
2.72e creates a different autoconf.h.in and configure in TeX Live's
texk/lcdf-typetools
(https://github.com/TeX-Live/texlive-source/tree/trunk/texk/lcdf-typetools):

--- autoconf.h.in   (revision 69180)
+++ autoconf.h.in   (working copy)
-/* Define to run cfftot1 from otftotfm. */
-#undef HAVE_AUTO_CFFTOT1
+/* Define to run cfftot1 t1dotlessj ttftotype42 updmap from otftotfm. */
+#undef HAVE_AUTO_CFFTOT1_T1DOTLESSJ_TTFTOTYPE42_UPDMAP
-/* Define to run t1dotlessj from otftotfm. */
-#undef HAVE_AUTO_T1DOTLESSJ
-
-/* Define to run ttftotype42 from otftotfm. */
-#undef HAVE_AUTO_TTFTOTYPE42
-
-/* Define to run updmap from otftotfm. */
-#undef HAVE_AUTO_UPDMAP
-

In other words, what was four separate HAVE_AUTO_* macros have become one.

The configure.ac code that generates this runs through those four values
using m4_foreach_w:

---
dnl the four values:
m4_define([kpse_otftotfm_auto_opts], [cfftot1 t1dotlessj ttftotype42 
updmap])[]dnl
dnl define the enable/disable options for each:
AC_FOREACH([Kpse_Opt], kpse_otftotfm_auto_opts,
   [AC_ARG_ENABLE(Kpse_Opt,
  AS_HELP_STRING([--disable-auto-]Kpse_Opt,
 [disable running ]Kpse_Opt[ from 
otftotfm],
 kpse_indent_26))])
..
dnl ac_define each of them accordingly.
m4_foreach_w([Kpse_Opt],[kpse_otftotfm_auto_opts],[AS_IF([test 
"x$enable_auto_]Kpse_Opt[" != xno],
  [AC_DEFINE([HAVE_AUTO_]AS_TR_CPP(Kpse_Opt), 1,
 [Define to run ]Kpse_Opt[ from otftotfm.])])
---

Quoting the [kpse_otftotfm_auto_opts] vs. plain kpse_otftotfm_auto_opts
makes no difference.

I guess I could unroll the loop into separate AC_DEFINE calls instead of
doing it in a loop, but is there something in there that is written
incorrectly? I'm not sure, so I thought I'd report it. Autoconf did not
report any warnings about it, as far as I could see. --thanks, karl.



[GNU Autoconf 2.72e] testsuite: 11 332 failed on OS X 10.9

2023-12-21 Thread Sevan Janiyan
Intel laptop running 10.10.5, m4 included with OS is too old (1.4.6), so 
GNU m4 1.4.18 was used.


Ran
./configure M4=path/to/m4
make
make check

## -- ##
## GNU Autoconf 2.72e test suite. ##
## -- ##

testsuite: command line was:
  $ tests/testsuite -C tests 
MAKE=/Library/Developer/CommandLineTools/usr/bin/make


## -- ##
## ChangeLog. ##
## -- ##

| 2023-12-20  Zack Weinberg  
|
|   update NEWS for 2.72e release candidate
|
|   spelling errors reported by “make syntax-check”
|
| 2023-12-19  Zack Weinberg  
|
|   Adjust --help and manpages to make it easier to find the Web manual.
|   Today it came to my attention that, if you don’t already know that all

## - ##
## Platform. ##
## - ##

hostname = mba.local
uname -m = x86_64
uname -r = 13.4.0
uname -s = Darwin
uname -v = Darwin Kernel Version 13.4.0: Mon Jan 11 18:17:34 PST 2016; 
root:xnu-2422.115.15~1/RELEASE_X86_64


/usr/bin/uname -p = i386
/bin/uname -X = unknown

/bin/arch  = unknown
/usr/bin/arch -k   = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo  = Mach kernel version:
	 Darwin Kernel Version 13.4.0: Mon Jan 11 18:17:34 PST 2016; 
root:xnu-2422.115.15~1/RELEASE_X86_64

Kernel configured for up to 2 processors.
2 processors are physically available.
2 processors are logically available.
Processor type: i486 (Intel 80486)
Processors active: 0 1
Primary memory available: 2.00 gigabytes
Default processor set: 133 tasks, 470 threads, 2 processors
Load average: 4.85, Mach factor: 0.29
/bin/machine   = unknown
/usr/bin/oslevel   = unknown
/bin/universe  = unknown

PATH: /Users/sme/Downloads/auto/tests/
PATH: /Users/sme/Downloads/autoconf-2.72e/tests/
PATH: /Users/sme/Downloads/auto/tests/
PATH: /usr/bin/
PATH: /bin/
PATH: /usr/sbin/
PATH: /sbin/

testsuite: atconfig:
| # Configurable variable values for building test suites.
| # Generated by ./config.status.
| # Copyright (C) 2023 Free Software Foundation, Inc.
|
| # The test suite will define top_srcdir=/../.. etc.
| at_testdir='tests'
| abs_builddir='/Users/sme/Downloads/auto/tests'
| at_srcdir='../../autoconf-2.72e/tests'
| abs_srcdir='/Users/sme/Downloads/auto/../autoconf-2.72e/tests'
| at_top_srcdir='../../autoconf-2.72e'
| abs_top_srcdir='/Users/sme/Downloads/auto/../autoconf-2.72e'
| at_top_build_prefix='../'
| abs_top_builddir='/Users/sme/Downloads/auto'
|
| # Backward compatibility with Autotest <= 2.59b:
| at_top_builddir=$at_top_build_prefix
|
| AUTOTEST_PATH='tests'
|
| SHELL=${CONFIG_SHELL-'/bin/sh'}

testsuite: atlocal:
| # -*- shell-script -*-
| # tests/atlocal.  Generated from atlocal.in by configure.
| # Configurable variable values for Autoconf test suite.
|
| # Copyright (C) 2000-2001, 2005, 2008-2017, 2020-2023 Free Software
| # Foundation, Inc.
| #
| # This program is free software: you can redistribute it and/or modify
| # it under the terms of the GNU General Public License as published by
| # the Free Software Foundation, either version 3 of the License, or
| # (at your option) any later version.
| #
| # This program is distributed in the hope that it will be useful,
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
| # GNU General Public License for more details.
| #
| # You should have received a copy of the GNU General Public License
| # along with this program.  If not, see .
|
| AWK='awk'
| EGREP='/usr/bin/grep -E'
| GREP='/usr/bin/grep'
| M4='/Users/sme/teabrew/opt/m4/bin/m4'
| PERL='/usr/bin/perl'
| SED='/usr/bin/sed'
|
| # We need to know if sh -n is ok.
| SHELL_N='/bin/sh'
|
| # Check whether the underlying system can manage some unusual
| # symbols in file names.
| if test -z ''; then
|   func_sanitize_file_name () { echo "$@"; }
| else
|   func_sanitize_file_name () { echo "$@" | tr -d ''; }
| fi
|
| # Can we create directories with trailing whitespace in their names?
| ac_cv_dir_trailing_space='yes'
| if test "$ac_cv_dir_trailing_space" = yes; then
|   func_sanitize_dir_name () { echo "$@"; }
| else
|   func_sanitize_dir_name () { echo "$@" | sed 's/  *$//'; }
| fi
|
| # AUTOM4TE might be set in the environment.  Override it here so that
| # direct aclocal invocations also use it.
| AUTOM4TE=autom4te
| export AUTOM4TE

../../autoconf-2.72e/tests/local.at:34: using 1s as timestamp resolution

##  ##
## Tested programs. ##
##  ##

../../autoconf-2.72e/tests/local.at:25: 
/Users/sme/Downloads/auto/tests/autom4te --version

autom4te (GNU Autoconf) 2.72e
Features: subsecond-mtime

Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
, 


This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent 

Re: [GNU Autoconf 2.72e] testsuite: 11 40 41 45 280 281 282 286 287 failed on OS X 10.4

2023-12-21 Thread Zack Weinberg
On Thu, Dec 21, 2023, at 9:03 AM, Zack Weinberg wrote:
> On Wed, Dec 20, 2023, at 6:29 PM, Sevan Janiyan wrote:
>> aclocal: unrecognized option -- `--system-acdir=/Users/sme/tmp/autoconf-
>> 2.72e/tests/testsuite.dir/040/empty'
>
> This means your automake, version 1.6.3, is too old.  The current
> version is 1.16.5. Please try installing that version and see if that
> makes the above failures go away.

I have pushed a change which should make the test suite skip all
the tests that won't work if it encounters an aclocal that doesn't
understand --system-acdir. That includes all of 40 41 45 280 281
282 286 287.

zw



Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86

2023-12-21 Thread Alan Coopersmith

On 12/21/23 06:06, Zack Weinberg wrote:

On Wed, Dec 20, 2023, at 4:57 PM, Alan Coopersmith wrote:

Failed tests:
GNU Autoconf 2.72e test suite test groups:

   NUM: FILE-NAME:LINE TEST-GROUP-NAME
KEYWORDS

11: tools.at:442   autoconf: forbidden tokens, basic
   119: m4sh.at:2115   _AS_CLEAN_DIR
   261: torture.at:189 AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS

I don't see any obvious causes for these.  testsuite.log attached.


#119 and #261 pass for me on sparc64-sun-solaris11.3
(SunOS gcc-solaris11 5.11 11.3 sun4u sparc SUNW,SPARC-Enterprise).

Would you mind sending us a tarball of tests/testsuite.dir/{119,261}
from the machine where they failed?


Attached.

For 119, the code in the Solaris find command that prints the
"find: cannot read dir sub/unwritable" message was modified last year
to make it not print that message if -prune was in effect for the directory,
so it's possible a bug in find was introduced by those changes.

For 261, Solaris gained a /dev/full device in Solaris 11.4.51.
Since the only purpose of this device is to return ENOSPC, I would
hope that it's fully compatible with the implementations on other OS'es,
but I don't know of any testing done to confirm that.

--
-Alan Coopersmith- alan.coopersm...@oracle.com
 Oracle Solaris Engineering - https://blogs.oracle.com/solaris


261.tar.gz
Description: application/gzip


119.tar.gz
Description: application/gzip


Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86

2023-12-21 Thread Zack Weinberg
On Wed, Dec 20, 2023, at 4:57 PM, Alan Coopersmith wrote:
> Failed tests:
> GNU Autoconf 2.72e test suite test groups:
>
>   NUM: FILE-NAME:LINE TEST-GROUP-NAME
>KEYWORDS
>
>11: tools.at:442   autoconf: forbidden tokens, basic
>   119: m4sh.at:2115   _AS_CLEAN_DIR
>   261: torture.at:189 AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS
>
> I don't see any obvious causes for these.  testsuite.log attached.

#119 and #261 pass for me on sparc64-sun-solaris11.3
(SunOS gcc-solaris11 5.11 11.3 sun4u sparc SUNW,SPARC-Enterprise).

Would you mind sending us a tarball of tests/testsuite.dir/{119,261}
from the machine where they failed?

zw



Re: [GNU Autoconf 2.72e] testsuite: 11 40 41 45 280 281 282 286 287 failed on OS X 10.4

2023-12-21 Thread Zack Weinberg
On Wed, Dec 20, 2023, at 6:29 PM, Sevan Janiyan wrote:
> G5 running OS X 10.4.11, m4 included with OS is too old (1.4.2), so GNU 
> m4 1.4.19 was used.

Thanks for all the testing.  The failure of test #11 is a known, minor
issue, see .

>40: tools.at:1462  autoupdating with aclocal and m4_include
>41: tools.at:1497  autom4te preselections
>45: tools.at:1708  autotools and relative TMPDIR
>   280: torture.at:1456Configuring subdirectories
>   281: torture.at:1584Deep Package
>   282: torture.at:1723Non-Autoconf AC_CONFIG_SUBDIRS
>   286: torture.at:1874Unusual Automake input files
>   287: torture.at:1909Specific warnings options for autoreconf

These I have not seen before, however...

> aclocal: unrecognized option -- 
> `--system-acdir=/Users/sme/tmp/autoconf-2.72e/tests/testsuite.dir/040/empty'

This means your automake, version 1.6.3, is too old.  The current version is 
1.16.5.
Please try installing that version and see if that makes the above failures go 
away.

Thanks,
zw



GNU Autoconf 2.72e] testsuite: 11 failed on OS X 10.8

2023-12-21 Thread Sevan Janiyan
Intel laptop running 10.8.5, m4 included with OS is too old (1.4.6), so 
GNU m4 1.4.18 was used.


Ran
./configure M4=path/to/m4
make
make check

## -- ##
## GNU Autoconf 2.72e test suite. ##
## -- ##

testsuite: command line was:
  $ tests/testsuite -C tests MAKE=make

## -- ##
## ChangeLog. ##
## -- ##

| 2023-12-20  Zack Weinberg  
|
|   update NEWS for 2.72e release candidate
|
|   spelling errors reported by “make syntax-check”
|
| 2023-12-19  Zack Weinberg  
|
|   Adjust --help and manpages to make it easier to find the Web manual.
|   Today it came to my attention that, if you don’t already know that all

## - ##
## Platform. ##
## - ##

hostname = mba.local
uname -m = x86_64
uname -r = 12.6.0
uname -s = Darwin
uname -v = Darwin Kernel Version 12.6.0: Wed Mar 18 16:23:48 PDT 2015; 
root:xnu-2050.48.19~1/RELEASE_X86_64


/usr/bin/uname -p = i386
/bin/uname -X = unknown

/bin/arch  = unknown
/usr/bin/arch -k   = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo  = Mach kernel version:
	 Darwin Kernel Version 12.6.0: Wed Mar 18 16:23:48 PDT 2015; 
root:xnu-2050.48.19~1/RELEASE_X86_64

Kernel configured for up to 2 processors.
2 processors are physically available.
2 processors are logically available.
Processor type: i486 (Intel 80486)
Processors active: 0 1
Primary memory available: 2.00 gigabytes
Default processor set: 92 tasks, 349 threads, 2 processors
Load average: 2.83, Mach factor: 0.39
/bin/machine   = unknown
/usr/bin/oslevel   = unknown
/bin/universe  = unknown

PATH: /Users/sme/Downloads/auto/tests/
PATH: /Users/sme/Downloads/autoconf-2.72e/tests/
PATH: /Users/sme/Downloads/auto/tests/
PATH: /usr/bin/
PATH: /bin/
PATH: /usr/sbin/
PATH: /sbin/

testsuite: atconfig:
| # Configurable variable values for building test suites.
| # Generated by ./config.status.
| # Copyright (C) 2023 Free Software Foundation, Inc.
|
| # The test suite will define top_srcdir=/../.. etc.
| at_testdir='tests'
| abs_builddir='/Users/sme/Downloads/auto/tests'
| at_srcdir='../../autoconf-2.72e/tests'
| abs_srcdir='/Users/sme/Downloads/auto/../autoconf-2.72e/tests'
| at_top_srcdir='../../autoconf-2.72e'
| abs_top_srcdir='/Users/sme/Downloads/auto/../autoconf-2.72e'
| at_top_build_prefix='../'
| abs_top_builddir='/Users/sme/Downloads/auto'
|
| # Backward compatibility with Autotest <= 2.59b:
| at_top_builddir=$at_top_build_prefix
|
| AUTOTEST_PATH='tests'
|
| SHELL=${CONFIG_SHELL-'/bin/sh'}

testsuite: atlocal:
| # -*- shell-script -*-
| # tests/atlocal.  Generated from atlocal.in by configure.
| # Configurable variable values for Autoconf test suite.
|
| # Copyright (C) 2000-2001, 2005, 2008-2017, 2020-2023 Free Software
| # Foundation, Inc.
| #
| # This program is free software: you can redistribute it and/or modify
| # it under the terms of the GNU General Public License as published by
| # the Free Software Foundation, either version 3 of the License, or
| # (at your option) any later version.
| #
| # This program is distributed in the hope that it will be useful,
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
| # GNU General Public License for more details.
| #
| # You should have received a copy of the GNU General Public License
| # along with this program.  If not, see .
|
| AWK='awk'
| EGREP='/usr/bin/grep -E'
| GREP='/usr/bin/grep'
| M4='/Users/sme/teabrew/opt/m4/bin/m4'
| PERL='/usr/bin/perl'
| SED='/usr/bin/sed'
|
| # We need to know if sh -n is ok.
| SHELL_N='/bin/sh'
|
| # Check whether the underlying system can manage some unusual
| # symbols in file names.
| if test -z ''; then
|   func_sanitize_file_name () { echo "$@"; }
| else
|   func_sanitize_file_name () { echo "$@" | tr -d ''; }
| fi
|
| # Can we create directories with trailing whitespace in their names?
| ac_cv_dir_trailing_space='yes'
| if test "$ac_cv_dir_trailing_space" = yes; then
|   func_sanitize_dir_name () { echo "$@"; }
| else
|   func_sanitize_dir_name () { echo "$@" | sed 's/  *$//'; }
| fi
|
| # AUTOM4TE might be set in the environment.  Override it here so that
| # direct aclocal invocations also use it.
| AUTOM4TE=autom4te
| export AUTOM4TE

../../autoconf-2.72e/tests/local.at:34: using 1s as timestamp resolution

##  ##
## Tested programs. ##
##  ##

../../autoconf-2.72e/tests/local.at:25: 
/Users/sme/Downloads/auto/tests/autom4te --version

autom4te (GNU Autoconf) 2.72e
Features: subsecond-mtime

Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
, 


This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Akim Demaille.


[GNU Autoconf 2.72e] testsuite: 11 failed on OS X 10.7

2023-12-21 Thread Sevan Janiyan
Intel laptop running 10.7.5, m4 included with OS is too old (1.4.6), so 
GNU m4 1.4.18 was used.


Ran
./configure M4=path/to/m4
make
make check

## -- ##
## GNU Autoconf 2.72e test suite. ##
## -- ##

testsuite: command line was:
  $ tests/testsuite -C tests MAKE=make

## -- ##
## ChangeLog. ##
## -- ##

| 2023-12-20  Zack Weinberg  
|
|   update NEWS for 2.72e release candidate
|
|   spelling errors reported by “make syntax-check”
|
| 2023-12-19  Zack Weinberg  
|
|   Adjust --help and manpages to make it easier to find the Web manual.
|   Today it came to my attention that, if you don’t already know that all

## - ##
## Platform. ##
## - ##

hostname = mba.local
uname -m = x86_64
uname -r = 11.4.2
uname -s = Darwin
uname -v = Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; 
root:xnu-1699.32.7~1/RELEASE_X86_64


/usr/bin/uname -p = i386
/bin/uname -X = unknown

/bin/arch  = unknown
/usr/bin/arch -k   = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo  = Mach kernel version:
	 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; 
root:xnu-1699.32.7~1/RELEASE_X86_64

Kernel configured for up to 2 processors.
2 processors are physically available.
2 processors are logically available.
Processor type: i486 (Intel 80486)
Processors active: 0 1
Primary memory available: 2.00 gigabytes
Default processor set: 95 tasks, 332 threads, 2 processors
Load average: 3.80, Mach factor: 0.34
/bin/machine   = unknown
/usr/bin/oslevel   = unknown
/bin/universe  = unknown

PATH: /Users/sme/Downloads/autoconf-2.72e/tests/
PATH: /Users/sme/Downloads/autoconf-2.72e/tests/
PATH: /usr/bin/
PATH: /bin/
PATH: /usr/sbin/
PATH: /sbin/
PATH: /usr/X11/bin/

testsuite: atconfig:
| # Configurable variable values for building test suites.
| # Generated by ./config.status.
| # Copyright (C) 2023 Free Software Foundation, Inc.
|
| # The test suite will define top_srcdir=/../.. etc.
| at_testdir='tests'
| abs_builddir='/Users/sme/Downloads/autoconf-2.72e/tests'
| at_srcdir='.'
| abs_srcdir='/Users/sme/Downloads/autoconf-2.72e/tests'
| at_top_srcdir='..'
| abs_top_srcdir='/Users/sme/Downloads/autoconf-2.72e'
| at_top_build_prefix='../'
| abs_top_builddir='/Users/sme/Downloads/autoconf-2.72e'
|
| # Backward compatibility with Autotest <= 2.59b:
| at_top_builddir=$at_top_build_prefix
|
| AUTOTEST_PATH='tests'
|
| SHELL=${CONFIG_SHELL-'/bin/sh'}

testsuite: atlocal:
| # -*- shell-script -*-
| # tests/atlocal.  Generated from atlocal.in by configure.
| # Configurable variable values for Autoconf test suite.
|
| # Copyright (C) 2000-2001, 2005, 2008-2017, 2020-2023 Free Software
| # Foundation, Inc.
| #
| # This program is free software: you can redistribute it and/or modify
| # it under the terms of the GNU General Public License as published by
| # the Free Software Foundation, either version 3 of the License, or
| # (at your option) any later version.
| #
| # This program is distributed in the hope that it will be useful,
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
| # GNU General Public License for more details.
| #
| # You should have received a copy of the GNU General Public License
| # along with this program.  If not, see .
|
| AWK='awk'
| EGREP='/usr/bin/grep -E'
| GREP='/usr/bin/grep'
| M4='/Users/sme/old.teabrew/opt/m4/bin/m4'
| PERL='/usr/bin/perl'
| SED='/usr/bin/sed'
|
| # We need to know if sh -n is ok.
| SHELL_N='/bin/sh'
|
| # Check whether the underlying system can manage some unusual
| # symbols in file names.
| if test -z ''; then
|   func_sanitize_file_name () { echo "$@"; }
| else
|   func_sanitize_file_name () { echo "$@" | tr -d ''; }
| fi
|
| # Can we create directories with trailing whitespace in their names?
| ac_cv_dir_trailing_space='yes'
| if test "$ac_cv_dir_trailing_space" = yes; then
|   func_sanitize_dir_name () { echo "$@"; }
| else
|   func_sanitize_dir_name () { echo "$@" | sed 's/  *$//'; }
| fi
|
| # AUTOM4TE might be set in the environment.  Override it here so that
| # direct aclocal invocations also use it.
| AUTOM4TE=autom4te
| export AUTOM4TE

./local.at:34: using 1s as timestamp resolution

##  ##
## Tested programs. ##
##  ##

./local.at:25: /Users/sme/Downloads/autoconf-2.72e/tests/autom4te --version
autom4te (GNU Autoconf) 2.72e
Features: subsecond-mtime

Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
, 


This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Akim Demaille.

./local.at:25: /Users/sme/Downloads/autoconf-2.72e/tests/autoconf --version
autoconf (GNU 

[GNU Autoconf 2.72e] testsuite: 11 40 41 45 280 281 282 286 287 failed on OS X 10.4

2023-12-21 Thread Sevan Janiyan
G5 running OS X 10.4.11, m4 included with OS is too old (1.4.2), so GNU 
m4 1.4.19 was used.


Ran
./configure M4=path/to/m4
make
make check

testsuite.log:

## -- ##
## GNU Autoconf 2.72e test suite. ##
## -- ##

testsuite: command line was:
  $ tests/testsuite -C tests MAKE=make

## -- ##
## ChangeLog. ##
## -- ##

| 2023-12-20  Zack Weinberg  
|
|   update NEWS for 2.72e release candidate
|
|   spelling errors reported by “make syntax-check”
|
| 2023-12-19  Zack Weinberg  
|
|   Adjust --help and manpages to make it easier to find the Web manual.
|   Today it came to my attention that, if you don’t already know that all

## - ##
## Platform. ##
## - ##

hostname = imac.local
uname -m = Power Macintosh
uname -r = 8.11.0
uname -s = Darwin
uname -v = Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; 
root:xnu-792.24.17~1/RELEASE_PPC


/usr/bin/uname -p = powerpc
/bin/uname -X = unknown

/bin/arch  = unknown
/usr/bin/arch -k   = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo  = Mach kernel version:
	 Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; 
root:xnu-792.24.17~1/RELEASE_PPC

Kernel configured for a single processor only.
1 processor is physically available.
Processor type: ppc970 (PowerPC 970)
Processor active: 0
Primary memory available: 2.00 gigabytes
Default processor set: 58 tasks, 142 threads, 1 processors
Load average: 2.42, Mach factor: 0.19
/bin/machine   = unknown
/usr/bin/oslevel   = unknown
/bin/universe  = unknown

PATH: /Users/sme/tmp/autoconf-2.72e/tests/
PATH: /bin/
PATH: /sbin/
PATH: /usr/bin/
PATH: /usr/sbin/

testsuite: atconfig:
| # Configurable variable values for building test suites.
| # Generated by ./config.status.
| # Copyright (C) 2023 Free Software Foundation, Inc.
|
| # The test suite will define top_srcdir=/../.. etc.
| at_testdir='tests'
| abs_builddir='/Users/sme/tmp/autoconf-2.72e/tests'
| at_srcdir='.'
| abs_srcdir='/Users/sme/tmp/autoconf-2.72e/tests'
| at_top_srcdir='..'
| abs_top_srcdir='/Users/sme/tmp/autoconf-2.72e'
| at_top_build_prefix='../'
| abs_top_builddir='/Users/sme/tmp/autoconf-2.72e'
|
| # Backward compatibility with Autotest <= 2.59b:
| at_top_builddir=$at_top_build_prefix
|
| AUTOTEST_PATH='tests'
|
| SHELL=${CONFIG_SHELL-'/bin/sh'}

testsuite: atlocal:
| # -*- shell-script -*-
| # tests/atlocal.  Generated from atlocal.in by configure.
| # Configurable variable values for Autoconf test suite.
|
| # Copyright (C) 2000-2001, 2005, 2008-2017, 2020-2023 Free Software
| # Foundation, Inc.
| #
| # This program is free software: you can redistribute it and/or modify
| # it under the terms of the GNU General Public License as published by
| # the Free Software Foundation, either version 3 of the License, or
| # (at your option) any later version.
| #
| # This program is distributed in the hope that it will be useful,
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
| # GNU General Public License for more details.
| #
| # You should have received a copy of the GNU General Public License
| # along with this program.  If not, see .
|
| AWK='awk'
| EGREP='/usr/bin/grep -E'
| GREP='/usr/bin/grep'
| M4='/Users/sme/Sandbox/tigerbrew/opt/m4/bin/m4'
| PERL='/usr/bin/perl'
| SED='/usr/bin/sed'
|
| # We need to know if sh -n is ok.
| SHELL_N='/bin/sh'
|
| # Check whether the underlying system can manage some unusual
| # symbols in file names.
| if test -z ''; then
|   func_sanitize_file_name () { echo "$@"; }
| else
|   func_sanitize_file_name () { echo "$@" | tr -d ''; }
| fi
|
| # Can we create directories with trailing whitespace in their names?
| ac_cv_dir_trailing_space='yes'
| if test "$ac_cv_dir_trailing_space" = yes; then
|   func_sanitize_dir_name () { echo "$@"; }
| else
|   func_sanitize_dir_name () { echo "$@" | sed 's/  *$//'; }
| fi
|
| # AUTOM4TE might be set in the environment.  Override it here so that
| # direct aclocal invocations also use it.
| AUTOM4TE=autom4te
| export AUTOM4TE

./local.at:34: using 1s as timestamp resolution

##  ##
## Tested programs. ##
##  ##

./local.at:25: /Users/sme/tmp/autoconf-2.72e/tests/autom4te --version
autom4te (GNU Autoconf) 2.72e

Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
, 


This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Akim Demaille.

./local.at:25: /Users/sme/tmp/autoconf-2.72e/tests/autoconf --version
autoconf (GNU Autoconf) 2.72e
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
, 

[GNU Autoconf 2.72e] testsuite: 11 failed on OS X 10.10

2023-12-21 Thread Sevan Janiyan
Intel laptop running 10.10.5, m4 included with OS is too old (1.4.6), so 
GNU m4 1.4.18 was used.


Ran
./configure M4=path/to/m4
make
make check



## -- ##
## GNU Autoconf 2.72e test suite. ##
## -- ##

testsuite: command line was:
  $ tests/testsuite -C tests 
MAKE=/Library/Developer/CommandLineTools/usr/bin/make


## -- ##
## ChangeLog. ##
## -- ##

| 2023-12-20  Zack Weinberg  
|
|   update NEWS for 2.72e release candidate
|
|   spelling errors reported by “make syntax-check”
|
| 2023-12-19  Zack Weinberg  
|
|   Adjust --help and manpages to make it easier to find the Web manual.
|   Today it came to my attention that, if you don’t already know that all

## - ##
## Platform. ##
## - ##

hostname = mba.local
uname -m = x86_64
uname -r = 14.5.0
uname -s = Darwin
uname -v = Darwin Kernel Version 14.5.0: Sun Jun  4 21:40:08 PDT 2017; 
root:xnu-2782.70.3~1/RELEASE_X86_64


/usr/bin/uname -p = i386
/bin/uname -X = unknown

/bin/arch  = unknown
/usr/bin/arch -k   = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo  = Mach kernel version:
	 Darwin Kernel Version 14.5.0: Sun Jun  4 21:40:08 PDT 2017; 
root:xnu-2782.70.3~1/RELEASE_X86_64

Kernel configured for up to 2 processors.
2 processors are physically available.
2 processors are logically available.
Processor type: i486 (Intel 80486)
Processors active: 0 1
Primary memory available: 2.00 gigabytes
Default processor set: 166 tasks, 635 threads, 2 processors
Load average: 9.04, Mach factor: 0.21
/bin/machine   = unknown
/usr/bin/oslevel   = unknown
/bin/universe  = unknown

PATH: /Users/sme/Downloads/auto/tests/
PATH: /Users/sme/Downloads/autoconf-2.72e/tests/
PATH: /Users/sme/Downloads/auto/tests/
PATH: /usr/bin/
PATH: /bin/
PATH: /usr/sbin/
PATH: /sbin/

testsuite: atconfig:
| # Configurable variable values for building test suites.
| # Generated by ./config.status.
| # Copyright (C) 2023 Free Software Foundation, Inc.
|
| # The test suite will define top_srcdir=/../.. etc.
| at_testdir='tests'
| abs_builddir='/Users/sme/Downloads/auto/tests'
| at_srcdir='../../autoconf-2.72e/tests'
| abs_srcdir='/Users/sme/Downloads/auto/../autoconf-2.72e/tests'
| at_top_srcdir='../../autoconf-2.72e'
| abs_top_srcdir='/Users/sme/Downloads/auto/../autoconf-2.72e'
| at_top_build_prefix='../'
| abs_top_builddir='/Users/sme/Downloads/auto'
|
| # Backward compatibility with Autotest <= 2.59b:
| at_top_builddir=$at_top_build_prefix
|
| AUTOTEST_PATH='tests'
|
| SHELL=${CONFIG_SHELL-'/bin/sh'}

testsuite: atlocal:
| # -*- shell-script -*-
| # tests/atlocal.  Generated from atlocal.in by configure.
| # Configurable variable values for Autoconf test suite.
|
| # Copyright (C) 2000-2001, 2005, 2008-2017, 2020-2023 Free Software
| # Foundation, Inc.
| #
| # This program is free software: you can redistribute it and/or modify
| # it under the terms of the GNU General Public License as published by
| # the Free Software Foundation, either version 3 of the License, or
| # (at your option) any later version.
| #
| # This program is distributed in the hope that it will be useful,
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
| # GNU General Public License for more details.
| #
| # You should have received a copy of the GNU General Public License
| # along with this program.  If not, see .
|
| AWK='awk'
| EGREP='/usr/bin/grep -E'
| GREP='/usr/bin/grep'
| M4='/Users/sme/teabrew/opt/m4/bin/m4'
| PERL='/usr/bin/perl'
| SED='/usr/bin/sed'
|
| # We need to know if sh -n is ok.
| SHELL_N='/bin/sh'
|
| # Check whether the underlying system can manage some unusual
| # symbols in file names.
| if test -z ''; then
|   func_sanitize_file_name () { echo "$@"; }
| else
|   func_sanitize_file_name () { echo "$@" | tr -d ''; }
| fi
|
| # Can we create directories with trailing whitespace in their names?
| ac_cv_dir_trailing_space='yes'
| if test "$ac_cv_dir_trailing_space" = yes; then
|   func_sanitize_dir_name () { echo "$@"; }
| else
|   func_sanitize_dir_name () { echo "$@" | sed 's/  *$//'; }
| fi
|
| # AUTOM4TE might be set in the environment.  Override it here so that
| # direct aclocal invocations also use it.
| AUTOM4TE=autom4te
| export AUTOM4TE

../../autoconf-2.72e/tests/local.at:34: using 1s as timestamp resolution

##  ##
## Tested programs. ##
##  ##

../../autoconf-2.72e/tests/local.at:25: 
/Users/sme/Downloads/auto/tests/autom4te --version

autom4te (GNU Autoconf) 2.72e
Features: subsecond-mtime

Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
, 


This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent