close
這篇是用來備忘如何在 Fedora 14 上使用 distcc 來 cross-compile。
真正負責作 compilation 的機器稱為 server,可以有很多台。
在自己下指令要 build 套件的機器就是 client。
在開始之前有很重要的一點,就是 server 和 client 的 compiler 版本必須要一致。
否則有可能出現一些奇奇怪怪的錯誤。
基本處理流程為:防火牆&SELinux -> Server -> Client。
Firewall & SELinux:
因為自己的環境只有自己在使用的小型區網,
所以把 server 和 client 的 firewall 全部 disable。
再編輯兩者 /etc/sysconfig/selinux 將 SELINUX 的值設為 disabled。
Server端:
$ sudo yum install distcc-server
$ sudo vim /etc/sysconfig/distccd
USER="nobody"
OPTIONS="--jobs 4 --allow 192.168.11.0/24 --port 3632"
"OPTIONS" 主要用來設定允許連線進來的 distcc client。
$ service distccd start
以上動作完成後可用 ps aux | grep distccd 來檢查 distccd 有無運作,
以及 netstat -an | grep 3632 檢查 3632 port 是否正在 listen。
Client端:
$ sudo yum install distcc
$ sudo vim /etc/distcc/hosts
DISTCC_HOSTS=192.168.11.x("x" 就是 distcc server 的 IP address)。
OPTION=lzo (lzo 代表啟動資料壓縮)
$ vim ~/.bashrc
export DISTCC_HOSTS=192.168.11.x [localhost]
(也可加入 localhost,代表使用 client 來幫忙作 compile。)
export DISTCC_POTENTIAL_HOSTS=192.168.11.x [localhost]
$ vim ~/.bash_profile
export PATH=$HOME/bin:$PATH
$ ln -s /usr/bin/distcc gcc
$ ln -s /usr/bin/distcc g++
$ ln -s /usr/bin/distcc cpp
$ ln -s /usr/bin/distcc c++
$ source ~/.bash_profile
$ source ~/.bashrc
以上動作都完成後就可以開始利用 rpmbuild 來 build packages。
參考資料
Faster compilation with distcc
Installing distcc and distccd on Fedora 11
Installing and Configuring distcc
distcc: a fast, free distributed C/C++ compiler
真正負責作 compilation 的機器稱為 server,可以有很多台。
在自己下指令要 build 套件的機器就是 client。
在開始之前有很重要的一點,就是 server 和 client 的 compiler 版本必須要一致。
否則有可能出現一些奇奇怪怪的錯誤。
基本處理流程為:防火牆&SELinux -> Server -> Client。
Firewall & SELinux:
因為自己的環境只有自己在使用的小型區網,
所以把 server 和 client 的 firewall 全部 disable。
再編輯兩者 /etc/sysconfig/selinux 將 SELINUX 的值設為 disabled。
Server端:
$ sudo yum install distcc-server
$ sudo vim /etc/sysconfig/distccd
USER="nobody"
OPTIONS="--jobs 4 --allow 192.168.11.0/24 --port 3632"
"OPTIONS" 主要用來設定允許連線進來的 distcc client。
$ service distccd start
以上動作完成後可用 ps aux | grep distccd 來檢查 distccd 有無運作,
以及 netstat -an | grep 3632 檢查 3632 port 是否正在 listen。
Client端:
$ sudo yum install distcc
$ sudo vim /etc/distcc/hosts
DISTCC_HOSTS=192.168.11.x("x" 就是 distcc server 的 IP address)。
OPTION=lzo (lzo 代表啟動資料壓縮)
$ vim ~/.bashrc
export DISTCC_HOSTS=192.168.11.x [localhost]
(也可加入 localhost,代表使用 client 來幫忙作 compile。)
export DISTCC_POTENTIAL_HOSTS=192.168.11.x [localhost]
$ vim ~/.bash_profile
export PATH=$HOME/bin:$PATH
$ ln -s /usr/bin/distcc gcc
$ ln -s /usr/bin/distcc g++
$ ln -s /usr/bin/distcc cpp
$ ln -s /usr/bin/distcc c++
$ source ~/.bash_profile
$ source ~/.bashrc
以上動作都完成後就可以開始利用 rpmbuild 來 build packages。
參考資料
Faster compilation with distcc
Installing distcc and distccd on Fedora 11
Installing and Configuring distcc
distcc: a fast, free distributed C/C++ compiler
全站熱搜