スポンサーリンク
Makefileを編集してmakeコマンドを実行してみたところ、「make: 警告: ファイル `Makefile' の修正時刻が 1.3e+02 秒分未来の時刻です」という警告が表示されてしまいました。これについて。
スポンサーリンク
警告内容
ダウンロードしてきたプログラムに同梱されていたMakefileを編集してmakeコマンドを実行してみたところ、実行結果の1行目に次のエラーが表示されてしまいました。
「make: 警告: ファイル `Makefile' の修正時刻が 1.3e+02 秒分未来の時刻です」
(英語の場合)「make warning: file 'Makefile' has modification time 1.3e+02 s in the future」
原因
原因は、2つのマシンの間で発生していた、時計のズレでした。
このMakefileは、作業していたマシンのhomeディレクトリにあったのですが、そのhomeディレクトリは、別の物理マシンのhomeディレクトリをNFSでマウントしたディレクトリで、保存したときのタイムスタンプは、そのリモートの物理マシンの時計基準で付けられていました。
一方で、実行そのものは、作業していたマシンの時計で行われます。
この状況下で、homeディレクトリの実態があるマシンの時計のほうが、作業しているマシンの時計より進んでいたのです(実際は、作業しているマシンが実世界の時計に比べて遅れていた)。
というわけで、maekコマンドから見たMakefileが、未来の時刻に保存されたもの扱いになってしまっていたのです。
スポンサーリンク
スポンサーリンク