Koji build failure with coreutils-7.5

Jim Meyering jim at meyering.net
Mon Aug 24 07:11:41 UTC 2009


Jim Meyering wrote:
> Todd Zullinger wrote:
>> I tried to build a git update into dist-f12-openssl earlier and had it
>> die in %doc with an error from cp¹:
>>
>> cp: preserving times for `/builddir/build/BUILDROOT/git-1.6.4.1-1.fc12.i386/usr/share/doc/git-1.6.4.1/contrib/hooks': Function not implemented
>
> Hi Todd,
>
> This is because that latest version of coreutils tries to preserve
> permissions on symlinks when it thinks that is possible.
> It determines whether to try by testing at configure time for the
> existence of the utimensat function.  If it can compile and link
> against that function, then the resulting executable will call it
> and report any failure.  The trouble is when you configure on a system
> with recent libraries and headers, yet *run* with a kernel
> that is old enough as to lack the syscall.

By the way, to those who maintain koji,

It is subtly dangerous to configure a package against headers and
libraries that are not well-matched with the kernel.
In this case, new headers/libraries suggest a function is available,
as detected by a standard autoconf function-existence check.
Yet only at run time do we detect (via surprising failure with ENOSYS)
that the kernel is too old to support the function that we were led
to believe would be available.  Here, it wasn't that big a deal,
but I can easily imagine this sort of mismatch leading to a more
serious problem.

It is fine to have a kernel *newer* than would be suggested by
headers/libraries.  Now you've seen why is risky to use one that is older.




More information about the fedora-devel-list mailing list