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

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

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

Linux (28) 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)

新しいコメントを投稿




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

    ブログが趣味で、スマホアプリの利用中に発生するトラブルや不具合の対策手順や障害情報、 設定の変更方法などについて、解説記事をよく書いています。

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

    最近の関心は、スマホやパソコンが苦手な人の行動や思考、そしてそんな人を手助けする方法です。

    RSS | Facebook | Twitter | About