Makefile 检测到时钟偏移:生成可能不完整

Makefile 检测到时钟偏移:生成可能不完整,makefile,nfs,Makefile,Nfs,我已经看到了很多这样的问题,最值得注意的是,它们都说了几乎相同的事情:这个错误是由于源文件的修改时间在将来引起的,这通常发生在装载的NFS上,当服务器时钟和客户端时钟不同步时 正如许多人所建议的那样,我试图触摸我目录中的所有文件。当这不起作用时,我实际上尝试将所有文件从已安装的驱动器复制到本地驱动器中,再次触摸它们,然后重新运行构建,但仍然收到相同的错误。是否有其他方法解决此问题?如果使用Windows,请检查是否在FAT文件系统上编译,如果是,请尝试切换 FAT有一个,因此您的构建可以添加到存

我已经看到了很多这样的问题,最值得注意的是,它们都说了几乎相同的事情:这个错误是由于源文件的修改时间在将来引起的,这通常发生在装载的NFS上,当服务器时钟和客户端时钟不同步时


正如许多人所建议的那样,我试图触摸我目录中的所有文件。当这不起作用时,我实际上尝试将所有文件从已安装的驱动器复制到本地驱动器中,
再次触摸它们,然后重新运行构建,但仍然收到相同的错误。是否有其他方法解决此问题?

如果使用Windows,请检查是否在FAT文件系统上编译,如果是,请尝试切换

FAT有一个,因此您的构建可以添加到存档中,编译下一个文件,但可以检测到存档已经是最新的。其他文件系统的时间分辨率在另一个列表中列出


如果您必须FAT考虑.LoWiReleDebug时间特定的目标。

<强> NFS服务器和NFS客户端的系统时间不同步。NFS服务器可能正在向前移动。

在NFS装载上运行
make
对毫秒级非常敏感,因此客户端/服务器系统时间必须非常紧张。这可以通过让您的NFS客户端使用NTP以允许的最高速率(通常为8秒)同步NFS服务器的时间来实现。在局域网上,这将使您获得亚毫秒的精度

  • 在NFS客户端和NFS服务器上安装NTP
  • 在客户端的NTP配置文件(linux中的NTP.conf)上,注释掉以“pool”或“server”开头的条目,并添加以下行:
服务器[将nfs服务器的地址放在此处]minpoll 3 maxpoll 3

。。。“3”是轮询间隔的2秒幂,因此为8秒。NFS服务器的NTP配置文件可能无法使用

  • 在客户端上重新启动ntpd服务
  • 在客户端中使用linux命令测试客户端是否正在同步:
ntpq-p

。。。重要的一点是,只要“到达”列不为零,就意味着它无法联系服务器的NTP

  • 如果它们不同步,您可能必须重新启动客户端和服务器。这可能是Synology NAS作为NTP服务器的情况

  • 对您的构建执行完全清理(如果方便,甚至对目录进行核攻击并重新克隆),然后重试

互联网上也有类似的答案,但他们建议只需在机器上安装NTP即可。这还不足以解决我的问题-它们没有足够紧密地同步。更好的方法是以非常频繁的间隔将客户端时钟与本地网络上的服务器时钟同步。这在互联网上是不受欢迎的,但在局域网上是便宜的


如果这不可能,至少尝试确保客户端和服务器上的NTP在其池/服务器条目中使用相同的时间服务器。

这个问题可能属于或,但解决方案是将客户端计算机(或服务器)同步到NTP,并确保它们的时钟同步。正如我所说,我已经从安装的驱动器上复制了这些文件,因此它们存储在构建机器的本地。我在生成中引用的文件与服务器没有连接。当您触摸
时,是否已验证修改时间是否实际更新以匹配正确的系统时间?尽管如此,这是一个黑客解决方案。你的时钟应该正确同步。有时极端漂移可能是一个信号,你的水晶可能会向南移动,因为它不能保持时间。我做了更多的挖掘。我试图手动重置时钟时遇到的问题是,我更改的是硬件时钟,而不是系统时钟。我似乎无法通过代理将我的机器连接到ntp服务器,但目前它们已经接近于可能的副本