On 2023-02-07 21:29, Jacob Bachmeyer wrote:
use Exporter;
-use Time::HiRes qw(stat);
use IO::File;
+# use sub-second resolution timestamps if available,
+# carry on with one-second resolution timestamps if that is all we have
+BEGIN { eval { require Time::HiRes; import Time::HiRes qw(stat) } }
Thanks for looking into this. Sorry about the long delay.
My memory was jogged by the recent Autoconf release candidate, which requires Perl 5.10 for
what I think is the same reason
<https://lists.gnu.org/r/autoconf/2023-03/msg00020.html>. This release candidate
didn't build on my Solaris 10 server because Solaris 10 has only Perl 5.8.4. Of course I
can work around this by also installing a recent Perl but that is a bit of a pain. I'll cc
this email to autoconf@gnu.org to give them a heads-up about
<https://bugs.gnu.org/61240>.
It'd be nice (though not crucial) if we could get to the bottom of this for
Automake and to sync the result to Autoconf before the new Autoconf release
comes out, so that Solaris 10 users of the new Autoconf need to install only
recent GNU M4, and not also a recent Perl.
To get back to the proposed patch quoted above:
Why change from "use Time::HiRes qw(stat);" to "require Time::HiRes; import
Time::HiRes qw(stat)"? (Again, please bear in mind that my Perl is quite rusty.)
The code formerly had "use File::stat;" before it changed to "use Time::HiRes qw(stat);".
Why doesn't the proposed patch need to fall back to "use File::stat;" on older Perls lacking
Time::HiRes?
Thanks again for any advice you can provide.