Not sure who to report this to...

Perl's File::Copy::move has a bug or limitation that can cause
problems with autoconf, which uses File::Copy.

File::Copy::move tries to rename() the file, but necessarily falls
back to copy and unlink if source and destination are on different
file systems.  It also tries to copy the access and modification
timestamps, but uses utime(), which only has full second resolution.
Modern POSIX filesystems have nanosecond resolution timestamps.
Effectively, the timestamp of the moved file is truncated down to
a second, which means it travels back in time.  This can mean that
dependencies are out of date and make wants to rebuild files...

I guess File::Copy should use utimensat() or futimens().


(This is the ultimate source of sporadic, quasi-random build failures
I see during package bulk builds.)

-- 
Christian "naddy" Weisgerber                          [email protected]

Reply via email to