bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: touch and utimens troubles on new/old software combinations


From: Jim Meyering
Subject: Re: touch and utimens troubles on new/old software combinations
Date: Mon, 02 Jun 2008 20:43:48 +0200

Mike Frysinger <address@hidden> wrote:
> a recent gnulib commit (faeb3e6b21...) causes trouble for some packages (such
> as touch in coreutils) on certain combinations of software.  for example, if
> you're running a recent version of glibc (say 2.7) compiled against recent
> kernel headers (say 2.6.25) but execute on an older kernel (say 2.6.18), then
> the resulting touch binary will attempt to use utimensat() which fails with
> ENOSYS.
>
> i'm not sure which route is best for gnulib: should it try each version at
> runtime and slowly fall back, or should it review the gnu/stubs.h header
> provided by glibc so that it knows ahead of time that the utimensat() symbol,
> while available in the C library, is not actually usable.

Hi Mike,

coreutils/gnulib have always run certain configure-time tests to
determine kernel/libc characteristics so that doing that is not
necessary at run-time.  Often it would be prohibitively expensive (or
essentially impossible) to perform such tests at run time.  This is
especially important for a minimalist tool like touch, but even "larger"
tools like cp and ls can perform only very limited (and lightweight)
system-attribute-detection at run time -- to do otherwise would induce
unacceptable overhead.

I'm afraid the best advice I can give you is to run the tools on the same
(or newer) version of the system on which you configured the package.

Jim




reply via email to

[Prev in Thread] Current Thread [Next in Thread]