Hi Regina,
On 09/08/2012 01:18 PM, Regina Henschel wrote:
building with MSVC 2008 express on WinXP, I get a lot of warnings of the
kind:
make: *** Warning: .LOW_RESOLUTION_TIME file `<path
part>/solver/350/wntmsci12/<path part>` has a high resolution time stamp
It builds and the build is usable nevertheless.
What does this warning mean?
Tools such as make or solenv's deliver depend on the relative order of
timestamps. E.g. make rebuilds an object file only if the source file is
newer.
Some filesystems, archive formats and some tools strip the sub-second
part of a file timestamp away when the file gets copied around. This can
result in a wrong relative time order of two files or it can result in
updated files not being recognized as updated. The special gnumake
target LOW_RESOLUTION_TIME is there so that even in that case the
pseudo-wrong order doesn't cause missed dependencies.
As far as I understand the make output above LOW_RESOLUTION_TIME warns
that it has been told that sub-second parts of timestamps are stripped
away but the sub-second parts are still there nevertheless.
Is there a way to avoid it?
IMHO make should be happy to find that the subsecond parts are not
stripped and should not warn about it. Another solution could be that
make ignores the subseconds itself for the files mentioned in a rule.
If the only way was to deal with it in our codebase then the proper
action would be to check in the configure step which tools, which
directories, etc. strip away the sub-seconds and only issue the special
target if files were handled by these tools/filesystems/etc. Solving it
that wouldn't be much fun though.
Hope that helps,
Herbert