GNU bug report logs - #7324
coreutils on Solaris 10

Previous Next

Package: coreutils;

Reported by: Pieter Bowman <bowman <at> math.utah.edu>

Date: Wed, 3 Nov 2010 16:15:02 UTC

Severity: normal

Done: Jim Meyering <jim <at> meyering.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eric Blake <eblake <at> redhat.com>
Cc: problems <at> math.utah.edu, Pieter Bowman <bowman <at> math.utah.edu>, bug-gnulib <bug-gnulib <at> gnu.org>, 7324 <at> debbugs.gnu.org
Subject: bug#7324: coreutils on Solaris 10
Date: Wed, 03 Nov 2010 12:33:59 -0600
[Message part 1 (text/plain, inline)]
On 11/03/2010 11:25 AM, Eric Blake wrote:
> [adding bug-gnulib]

On 11/03/2010 11:39 AM, Eric Blake wrote:
> * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
>
> Signed-off-by: Eric Blake <eblake <at> redhat.com>
> ---
>
> Well this is embarrassing.  The configure test for whether
> futimesat(,NULL,) works failed because O_RDWR was not
> declared.  I'm pushing this, then retesting to see if
> Solaris 10 still has issues with setting fd times.
>
>  ChangeLog     |    5 +++++
>  m4/utimens.m4 |    3 ++-
>  2 files changed, 7 insertions(+), 1 deletions(-)

I've confirmed that with this fix, the latest gnulib now passes all
time-setting tests except those related to symlink times.  I'm now in
the process of testing coreutils on the same machine to see if the fixed
gnulib test makes touch start working again.

> 
> 
> It looks like Solaris 10 may have broken their hack where
> futimesat(fd,NULL,time) could set the timestamps of an open fd, which
> coreutils is relying on since futimens and utimensat do not exist on
> that platform.

Thankfully, the futimesat hack still works.  What didn't work was that
the bogus .m4 test (broken since gnulib commit 0883405c in Nov 2009)
made coreutils skip using futimesat() in the first place, and its
fallback to even older utimes-style functions are triggering failures.
But since we should be using futimesat rather than older fallbacks, it
shouldn't matter if those older fallbacks (think utimes()) were recently
broken.

Still, that only definitively explains why coreutils 8.1 through 8.6
would fail; it doesn't necessarily speak to the observed failure on
5.97, nor does it answer what the behavior with 6.0 through 8.0 would
be, because those versions all encountered older implementations of the
gnulib time-setting fallbacks.

-- 
Eric Blake   eblake <at> redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

[signature.asc (application/pgp-signature, attachment)]

This bug report was last modified 13 years and 326 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.