2017-08-31 8 views
0

私はccacheを異なる兄弟ディレクトリから構築された同じソースコードで動作させようとしています。私は正常にこれら2つの兄弟の親ディレクトリにCCACHE_BASEDIRを設定しました。 bld1でビルドを行い、次にbld2に切り替えてそのコピーをビルドすると(これらは同じソースです)、キャッシュヒットは発生しません。ccache basedirが期待通りに動作しない

これで、ログ出力がCCACHE_LOGFILEになっています。残念ながら、ログは、どのファクタ/データがそれが見えるハッシュを計算するのに入ったかを教えてくれません、私はちょうど "そうしたマニフェストファイルがありません"というメッセージをたくさん見ています。

ccacheで問題をデバッグして、これらの2つのソースツリーを同じものとして認識しない理由を理解するために使用できるオプションはありますか?

特定のディレクトリでビルドを繰り返すと、実際にはキャッシュ内で多くのヒットが得られます。つまり、ccacheは変更されていないビルドパスを使用しているため、動作していないようですディレクトリ間で正しく(環境変数を使用している場合CCACHE_NOHASHDIR=1)または共通のプレフィックス(例えば-fdebug-prefix-map=$PWD=.)にデバッグ情報を再配置する-fdebug-prefix-map=old=newを設定

答えて

関連する問題