Compiling C++ on remote Linux machine - “clock ske

2019-01-07 05:22发布

I'm connected to my university's small Linux cluster via PuTTY and WinSCP, transferring files using the latter and compiling and running them with the former. My work so far has been performed in the university's labs, but today I have been doing some work at home that generated an interesting warning.

I uploaded an entire folder of stuff and, upon running the make command, I get this as the last line of output:

make: warning: Clock skew detected. Your build may be incomplete.

The resulting binary works correctly, and there doesn't seem to be any other unexpected errors in the build process.

I seem to be able to trigger the error by building after uploading some new / replacement files (I edit everything locally then upload the new version), so I'm wondering if it's something just as simple as mismatched file modification times? Or something more concerning?

So, should I be worried? How do I fix/prevent this?

12条回答
爷、活的狠高调
2楼-- · 2019-01-07 05:41

Simple solution:

# touch filename

will do all OK.

For more info: http://embeddedbuzz.blogspot.in/2012/03/make-warning-clock-skew-detected-your.html

查看更多
闹够了就滚
3楼-- · 2019-01-07 05:42

I have had this in the past - due to the clocks being out on the machines. Consider setting up NTP so that all machines have the same time.

查看更多
不美不萌又怎样
4楼-- · 2019-01-07 05:42

The solution is to run an NTP client , just run the command as below

#ntpdate 172.16.12.100

172.16.12.100 is the ntp server

查看更多
The star\"
5楼-- · 2019-01-07 05:47

Typically this occurs when building in a NFS mounted directory, and the clocks on the client and the NFS server are out of sync.

The solution is to run an NTP client on both the NFS server and all clients.

查看更多
贪生不怕死
6楼-- · 2019-01-07 05:52

Replace the watch battery in your computer. I have seen this error message when the coin looking battery on the motherboard was in need of replacement.

查看更多
Animai°情兽
7楼-- · 2019-01-07 05:53

According to user m9dhatter on LinuxQuestions.org:

"make" uses the time stamp of the file to determine if the file it is trying to compile is old or new. if your clock is bonked, it may have problems compiling.

if you try to modify files at another machine with a clock time ahead by a few minutes and transfer them to your machine and then try to compile it may cough up a warning that says the file was modified from the future. clock may be skewed or something to that effect ( cant really remember ). you could just ls to the offending file and do this:

#touch <filename of offending file>

查看更多
登录 后发表回答