ccache
コンパイララッパーとして使用することが可能であることを知っていますが、distcc
その逆も可能ですか?
私には群れがあります。ラズベリーパイ高速CPUと高速I/Oを備えたx64システムでは、distccを使用してARMバイナリをクロスコンパイルするシステムです。
ccache
私はしばしばすべてのRaspberry Piで同じソフトウェアをコンパイルするので、コンパイルサーバーがコンパイルされたオブジェクトのいくつかをキャッシュして再利用することで時間を節約できればと思いました。
それとも、ラズベリー自体に大きなビルド時間がかかりますか?
答え1
あなたの質問では完全には明確ではありませんが、rapsberry pi Aがdistccで構築されている場合、distccがサーバーにキャッシュし、raspberry pi Bが再コンパイルされないようにしますか?
ccacheはすでにmemcachedをサポートしているため、memcachedを追加して結果をキャッシュできます(dev/memcached
ccacheブランチを参照)。また、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