Last Update: "2007/10/05 12:25:03 makoto"
distcc
url
- 徳田さんの日記に使い方が書いてあります (以前の URL は無効)
-
http://www.tokuda.net/diary/200407c.html
- yaoshi さんの日記にも役に立つ情報があります:
-
http://www2.starcat.ne.jp/~yaoshi/diary/?200501b&to=200501134S1#200501134S1
→
http://www.yagoto-urayama.jp/~oshimaya/d/?200501b#200501134
- 分散コンパイル環境 〜distcc〜 (よっちん家)
-
http://www.alles.or.jp/~luz/hpcmips/distcc.html
- ccache と distcc でビルドを高速に
-
http://www.otsune.com/bsd/ports/ccache_distcc.html
distcc って何
Distributed CC = 分散 C Compiler です。
用意するもの
参照 | 機械 | pkgsrc/devel/distcc | cross compiler | 設定 |
1 | 目的の機械 (遅い) | distcc | | /etc/mk.conf |
2 | 速い機械 | distccd | cross compiler
|
rc.d/distccd, rc.conf
|
両方の機械に pkgsrc/devel/distcc を入れておきます。
またサーバと、目的の機械の machine_arch が違うものなら、サーバ側
にはクロスコンパイラが必要です。
クロスコンパイラを用意するには、(src が用意してあれば) 例えば
./build.sh -m target_arch tools
とすれば作るのも、(src を用意したり、版数を管理するのが面倒という点を除けば)
ある意味で手軽です。
その上で 2 のサーバ側に、次の設定をしておきます。
distccmon-text
distccmon-text 10
pkg_add
pkg_add distcc とすると、
The following files should be created for distcc-2.18.2nb2:
/etc/rc.d/distccd (m=0755)
と表示されますが、これは
sudo cp -p /usr/pkg/share/examples/rc.d/distccd /etc/rc.d
ということです。
この方法でなくて、手で daemon を起動するには、次のようにします。
distccd --daemon --allow 192.168.1.0/24
あるいはこの前に env を付けて、クロス コンパイラを環境変数
を使って設定しておきます。
これを呼ぶ方では、~/.distcc/hosts に設定をします。
TCP 接続を使う場合には、次のように機械の名前を並べておきます。
localhost red green blue
また SSH 接続を使うなら、次のように書いおきます。
localhost @red @green @blue
機械は速い方から並べておきます。特に自機が(すごく)遅い場合を除いて、
最初に localhost を書いておきます。
netbsd の pkgsrc を distcc する場合には
/etc/mk.conf に次のように書いておくといいそうです。
PKGSRC_COMPILER=distcc gcc
DISTCC_HOSTS=192.168.100.39 localhost
|