make错误:warning:Clock skew detected.Your build may be incomplete解决方法

错误信息:
今天在编译pam_mysql软件时遇到错误:(cd .libs && rm -f pam_mysql.la && ln -s ../pam_mysql.la pam_mysql.la) make: warning:  Clock skew detected.  Your build may be incomplete.错误解决方法

原因分析:
原因是,当前系统的时间还在编译目录中的文件(包括源程序文件和编译后生成的.o目标文件)最后修改时间之前,比如我用“date”命令查看到的时间为2012年12月19日,而目录中文件最后的修改时间为2012年12月20日。
解决方法是,首先应该“make clean”将之前编译的”.o”目标文件清除掉,然后再运行“make”进行编译,即使它再有这样的warning也没关系,因为所有的目标都会被重新编译。当然,要去掉这个warning,只需要将当前时间修改正确即可。

解决方法:
将日期时间设置成当前正确时间
#date -s "月/日/年 HH:MM:SS"
格式是 "MM/DD/YYYY hh:mm:ss"

然后#clock -w强制把系统时间写入CMOS。说明:
在linux系统启动时,操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性, Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。

本文最后更新于 2012-12-20 23:37:35 并被添加「linux 编译软件 时间时区 linux基础 linux命令」标签,已有 15757 位童鞋阅读过。
本文作者:未来往事
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处

相关文章

此处评论已关闭