Re: On time64 and Large File Support

"Zack Weinberg" <[email protected]> Tue, 15 Nov 2022 13:35:24 -0500
Newsgroups gmane.comp.sysutils.autoconf.patches
Message-ID <[email protected]>
On Tue, Nov 15, 2022, at 12:49 PM, Nick Bowler wrote:
> On 2022-11-13, Zack Weinberg <[email protected]> wrote:
>> I have not pushed this, and have only tested it lightly on a current Linux.
>> It needs testing on weird old systems, particularly old AIX, HP-UX, MinGW.
>
> I'd be happy to give it a go on my weird old systems ...

I forgot to mention at the time:  Testing on systems *where time_t is only 32 bits wide by default* is especially useful.

>     /bin/sh ./config.status --recheck
>     running CONFIG_SHELL=/bin/sh /bin/sh ./configure --no-create --no-recursion
>     ./configure: 6: cannot create .: Is a directory
>     ./configure: 6: cannot create .: Is a directory
>     [...]
>     checking for Perl >=5.10.0 with Time::HiRes::stat... configure:
> error: no acceptable perl could be found in $PATH.
>     Perl 5.10.0 or later is required, with Time::HiRes::stat.
>     make: *** [Makefile:969: config.status] Error 1

The procedure you used should have worked, assuming $PATH did not change from step to step.  One possible explanation is that there's a bug with building in the source directory -- at step 2, try instead

mkdir _build
cd _build
../configure

Another possible explanation is that the bootstrap operation didn't set file timestamps accurately (perhaps because the filesystem you're on doesn't support high-resolution time stamps) and so it's trying to regenerate 'configure' with an _older_ autoconf which trips over some state left by the bootstrap process.  Another thing to try is

./bootstrap
sleep 2 && touch aclocal.m4 && sleep 2 && touch Makefile.in && sleep 2 && touch configure
./configure
sleep 2 && touch config.status && sleep 2 && touch tests/aclocal Makefile lib/version.m4
make

Please let us know if either of those things helps.

zw