distcc

当然ながら、クライアントとサーバーでは、同じバージョンのgccを入れる必要がある。このへんからすでにSHはめんどくさいことになっている。
複数のリビジョンのgccがあるときは、クライアントのgccを基準にサーバー側をあわせる。コンパイラのバイナリのファイル名については、両方でそろえておく必要があり、これはシンボリックリンクでもかまわない。
ロスコンパイルには、binutils, glibc, kernel-headerも必要になる(いらないはずなんだけど下記のgentooにはそう書いてあるな?)。

http://www.smalltown.ne.jp/~usata/memo/distcc.shtml
よくまとまっているのだけど、Gentooベースというところがいまいちだ。

http://www-6.ibm.com/jp/developerworks/linux/040716/j_l-distcc.html

DISTCC_DIRをtmpfsとかに指定してしまうと、RAM上で構築できるようになりそうね。

コンパイルに参加するメンバサーバーを環境変数で指定する。ならんだ順にタスクが振られるので、速いマシンを先頭にすべきだそうだ。
export DISTCC_HOSTS="fts-distcc lantank"
SHの場合は、メインマシンはコンパイルに参加させないほうが快適らしい。

やっぱり、dpkg-cross が SH ではうまく使えないから、クロス環境をそろえるのはめんどくさいので、標準配布物に distcc を突っ込んでおき、なんかボタンを押してポートを外にあけると、ssh経由でコンパイルファームに参加できるような仕組みを用意すべきではないのかな。