You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

更新MSYS2后出现Clock skew detected警告的解决方法

MSYS2更新后MinGW32出现"Clock skew detected"问题的解决方案

这个问题不是个例,不少用户在通过pacman -Syu升级MSYS2后,MinGW32环境下的mingw32-make频繁弹出怪异的"Clock skew detected"警告,典型报错如下:

mingw32-make[4]: Warning: File 'CMakeFiles\Makefile2' has modification time 4.3e+09 s in the future
mingw32-make[5]: Warning: File 'CMakeFiles\common.dir\build.make' has modification time 2.8e+16 s in the future
mingw32-make[5]: warning: Clock skew detected. Your build may be incomplete.

该问题由GNU Make从4.3版本升级到4.4版本引发,本地环境和GitHub Actions的全新安装环境都会出现。

解决方法:

  • 回滚到GNU Make 4.3版本
    这是最直接有效的方案,执行以下命令:

    # 卸载当前的4.4版本
    pacman -R mingw-w64-i686-make
    # 安装4.3版本(可先通过pacman -Ss mingw-w64-i686-make确认可用的旧版本号)
    pacman -U mingw-w64-i686-make-4.3-5-any.pkg.tar.zst
    

    如果仓库中已移除旧版本,可到/var/cache/pacman/pkg/目录下查找缓存的4.3版本包文件,用同样的pacman -U命令安装。

  • 临时规避:强制刷新文件时间戳
    在执行mingw32-make前,手动更新所有CMake生成的Makefile相关文件时间戳,消除时间差误判:

    touch CMakeFiles/*.make CMakeFiles/Makefile2 Makefile
    

    也可以在CMake的构建脚本中添加这个步骤,自动触发时间戳更新。

  • 等待官方修复
    该问题是GNU Make 4.4在MinGW32平台的兼容性问题,MSYS2维护团队已经收到相关反馈,后续会通过更新mingw-w64-i686-make包修复,可定期执行pacman -Syu检查更新。

问题根源:

GNU Make 4.4在处理MinGW32环境下的文件时间戳时存在逻辑错误,将正常的文件时间解析为远超当前时间的数值,导致make认为系统时钟存在偏差,触发大量警告。

内容的提问来源于stack exchange,提问作者GuillaumeG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 04:20:31