Clock skew detected 에러 해결 방법

Clock skew detected 에러 해결 방법

Error ‘Clock skew detected’ Solution

빌드시 에러 Clock skew detected.

리눅스 또는 우분투 환경과 개발 보드에 들어갈 코드를 윈도우OS에서 파일들을 옮기면서 작업하다 보면 종종 아래와 같은 에러와 마주할 때가 있습니다.

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

make 빌드, ROS라면 catkin_make 또는 colcon build를 사용하면서 발생할텐데요. 해당 에러의 원인은 시스템 시간과 컴파일하려는 소스 파일들의 시간이 빌드하는 환경과 시간이 맞지 않으면서 발생합니다.

저의 경우를 예로 들자면, 윈도우 가상환경에서 빌드하면서 수정 작업하다가 특정 개발 보드로 파일들을 옮겨서 바로 빌드하면서 발생합니다.

에러 해결 방법

ROS라면 워크스페이스에서 일반적인 make 빌드를 한다면 현재 디렉토리를 기준으로 아래의 명령어를 입력합니다.

find . -type f | xargs -n 5 touch

맨 끝의 ‘touch’ 명령어를 주의 깊게 봐야 하는데 이 명령어를 통해 파일의 접근(Access)과 시간 수정(Modification)을 업데이트합니다. 이로써 소스 파일들의 Time Sync를 현재시각으로 업데이트가 될 겁니다.

이후 새로 컴파일 / 빌드를 시도해보면, 정상적으로 마무리되는 것을 볼 수 있을 겁니다.