distccコンパイルサーバーでccacheを使用できますか?

distccコンパイルサーバーでccacheを使用できますか?

ccacheコンパイララッパーとして使用することが可能であることを知っていますが、distccその逆も可能ですか?

私には群れがあります。ラズベリーパイ高速CPUと高速I/Oを備えたx64システムでは、distccを使用してARMバイナリをクロスコンパイルするシステムです。

ccache私はしばしばすべてのRaspberry Piで同じソフトウェアをコンパイルするので、コンパイルサーバーがコンパイルされたオブジェクトのいくつかをキャッシュして再利用することで時間を節約できればと思いました。

それとも、ラズベリー自体に大きなビルド時間がかかりますか?

答え1

あなたの質問では完全には明確ではありませんが、rapsberry pi Aがdistccで構築されている場合、distccがサーバーにキャッシュし、raspberry pi Bが再コンパイルされないようにしますか?

ccacheはすでにmemcachedをサポートしているため、memcachedを追加して結果をキャッシュできます(dev/memcachedccacheブランチを参照)。また、distccと同じサーバーに保存する必要はありません。 AWSに保存でき、ラズベリーパイは実際に必要なキャッシュミスをdistccに送信します。

メモリキャッシュの取り付け:

sudo apt-get install memcached

export MEMCACHED_SERVERS=localhost

sudo service memcached restart

ccache用(私が接続したポイントに更新した後)

sudo apt-get install libmemcached-dev

./configure --enable-memcached

make -j4 && sudo make install

次に、次のようにして、ccacheにサーバーの場所を知らせることができます。

export CCACHE_MEMCACHED_CONF="--SERVER=localhost"

追加情報: https://gist.github.com/itensionanders/2bd0056027f8308d4cd8

関連情報