distccの使い方

distccを各サーバにインストールしておく。Ubuntuの場合、/etc/default/distccの設定も必要(ページ末の参考を参照)。

以下は、実際にビルドする例。もちろん、環境変数をexportしてもいい。
DISTCC_HOSTS='localhost sv1 sv2 sv3 sv4' make -j20 CC=distcc CXX=distcc
autotoolsでMakefileを作ったC++プログラムの場合、以下のエラーが出る事がある。
/usr/bin/ld: main.o: undefined reference to symbol '__cxa_free_exception@@CXXABI_1.3'
//usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
その場合は、CXXLDを明示することで回避できる。
DISTCC_HOSTS='localhost sv1 sv2 sv3 sv4' make -j20 CC=distcc CXX=distcc CXXLD=g++

参考:Ubuntu 14.04での/etc/default/distcc変更例
--- distcc.orig 2014-09-02 09:44:05.437179718 +0900
+++ distcc      2014-09-02 09:51:15.492544164 +0900
@@ -6,7 +6,7 @@
 #
 # STARTDISTCC="true"
 
-STARTDISTCC="false"
+STARTDISTCC="true"
 
 #
 # Which networks/hosts should be allowed to connect to the daemon?
@@ -16,7 +16,7 @@
 #
 # ALLOWEDNETS="127.0.0.1"
 
-ALLOWEDNETS="127.0.0.1"
+ALLOWEDNETS="0.0.0.0/0"
 
 #
 # Which interface should distccd listen on?
@@ -24,7 +24,6 @@
 #
 # LISTENER="127.0.0.1"
 
-LISTENER="127.0.0.1"
 
 #
 # You can specify a (positive) nice level for the distcc process here

0 件のコメント: