
On 06/24/2013 01:16 PM, Ian Lynagh wrote:
On Mon, Jun 24, 2013 at 12:37:17PM +0100, Geoffrey Mainland wrote:
It looks like "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d" gets *younger*, leading to the recache error. Rather odd... Any ideas why this is happening?
That's expected: When we install xhtml, we add it to the DB, and the cache gets updated.
It looks like the problem is this:
Timestamp 2013-06-24 11:02:14.669097 UTC for [...]/package.conf.d/package.cache Timestamp 2013-06-24 11:02:14.669197 UTC for [...]/package.conf.d (NEWER
I would guess that we assume that when we write package.cache, the directory gets updated with the same timestamp; but actually, both use the timestamp at which they really happen. This is of course much more likely to be a problem if your filesystem has sub-second precision.
If that's it, then it should be possible to fix it by explicitly setting the modification time of the directory to match the cache when we write the cache in ghc-pkg.
I'm using ZFS, so I suspect that this is indeed the issue. Thanks, Geoff