情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

「make: 警告: ファイル Makefile の修正時刻が 1.3e+02 秒分未来の時刻です」について

Linux (23) make (1)

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が、未来の時刻に保存されたもの扱いになってしまっていたのです。

コメント(0)

新しいコメントを投稿




  • カテゴリ ナビ
  • 著者紹介

    ブログが趣味で、 月間1,000万PV を達成しました。

    自分が困ったことをブログに書けば、次に困る人の参考になって、みんながみんな同じ苦労をせずに済む、というのが原点です。

    最近の関心は、スマホやパソコンに詳しくない人の行動や思考、 そしてそんな人を手助けする方法や枠組み。 また、それに関連するような、"身近な"セキュリティ。

    ※SNS(特にTwitter)でシェアされた記事は、内容の追加・更新を行っています。 必ず、ではありませんが、気に入った記事は積極的にシェアしてみてください。

    RSS | Facebook | Twitter | About