「開発環境」(2008/06/06 (金) 00:20:35) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
ほぼ kogiidena さんのページどおりですが、gcc などのバージョンに違いがあり、少々苦労しました・・・
*PC環境
Provider---Router-+
|
+- LANDISK(開発機…distccクライアント)
| [192.168.1.x]
|
+- Windows XP -+
[192.168.1.y]|
+-colinux (distccサーバ)
[192.168.40.2]
*colinux の立ち上げ
-もともと debian26/sarge 用に debian/sarge が(クリーン)インストールしてあった
-それを etch にアップグレードして使うことにした
-環境立ち上げ後、WindowsXP のポート 3632 を colinux 側にフォワード
--[コントロールパネル] の [Windows ファイアウォール] を選択
--[詳細設定] タブにある [ネットワーク接続] の設定から WindowsXP が使用している接続を選択して [設定] ボタンを押す
--[サービス] タグを表示させ [追加] ボタンを押す
--[サービスの名前] は適当に・・・
--[ネットワークでこのサービスを・・・] はフォワード先の IP アドレスを記述(自分は 192.168.40.2 を記述した)
--[このサービスの外部ポート番号], [このサービスの内部ポート番号] はどちらも [3632]
--[ TCP/UDP ] は [ TCP ] を選択
*colinux上にクロス開発環境を構築
-deiban/etch 環境の準備
--Landisk の debian は etch になっているので colinux 側も etch で構築
-i386 の開発環境を入れる
--Landisk にインストール済みの gcc, g++ などのバージョンにあわせる必要がある(?)ので http://snapshot.debian.net/ を利用して過去のバージョンをインストールする&br()下記の項目を /etc/apt/souce.list に追加
#archive
deb http://snapshot.debian.net/archive pool gcc-3.4
deb-src http://snapshot.debian.net/archive pool gcc-3.4
deb http://snapshot.debian.net/archive pool gcc-4.0
deb-src http://snapshot.debian.net/archive pool gcc-4.0
--dpkg-dev,gcc,g++,gcc-3.4-base … 開発環境基本セット
--binutils-multiarch … マルチアーキテクチャ対応のbinutils
--dpkg-cross … クロス環境サポートのdpkg
# aptitude install dpkg-dev gcc g++ gcc-3.4-base binutils-multiarch dpkg-cross
--/etc/dpkg-cross/cross-compile の編集&br()次の1行を加える
default_arch = sh4
- sh4のクロスコンパイラセットのインストール&br()http://iohack.sourceforge.jp/kogiidena/debian26/CROSS/sh4-cross-20051023.tgz&br()を取得して中身を全てdpkg -i でインストールする
--中身
binutils-sh4-linux_2.16.1-2_i386.deb
cpp-3.4-sh4-linux_3.4.4-5_i386.deb
cpp-4.0-sh4-linux_4.0.2-2_i386.deb
g++-3.4-sh4-linux_3.4.4-5_i386.deb
g++-4.0-sh4-linux_4.0.2-2_i386.deb
gcc-3.4-sh4-linux_3.4.4-5_i386.deb
gcc-4.0-sh4-linux_4.0.2-2_i386.deb
libc6-dev-sh4-cross_2.3.5-7_all.deb
libc6-sh4-cross_2.3.5-7_all.deb
libdb1-compat-sh4-cross_2.1.3-7_all.deb
libgcc1-sh4-cross_4.0.2-2_all.deb
libncurses5-dev-sh4-cross_5.4-4_all.deb
libncurses5-sh4-cross_5.4-4_all.deb
libstdc++6-4.0-dev-sh4-cross_4.0.2-2_all.deb
libstdc++6-dev-sh4-cross_3.4.4-5_all.deb
libstdc++6-sh4-cross_3.4.4-5_all.deb
libstdc++6-sh4-cross_4.0.2-2_all.deb
linux-kernel-headers-sh4-cross_2.6.13+0rc3-2_all.deb
-以上でクロス開発環境の構築が終了
*distcc環境の構築
**colinux 側の設定
-distcc のインストール
colinux:~# aptitude install distcc
-/etc/default/distcc の編集
STARTDISTCC="true"
#ALLOWEDNETS= 接続を許可するクライアントの IP アドレスを指定
ALLOWEDNETS="192.168.1.0/24 127.0.0.1"
#PATH= クロスコンパイラのパス設定
PATH=/usr/sh4-linux/distcc/bin:$PATH
LISTENER="0.0.0.0"
-パス上にクロスコンパイラを用意&br()パスのトップに /usr/sh4-linux/distcc/bin を追加したのでその場所に優先して呼び出したいコンパイラを用意する
colinux:~# mkdir -p /usr/sh4-linux/distcc/bin
colinux:~# cd /usr/sh4-linux/distcc/bin/
colinux:/usr/sh4-linux/distcc/bin# ln -s /usr/bin/sh4-linux-gcc gcc
colinux:/usr/sh4-linux/distcc/bin# ln -s /usr/bin/sh4-linux-gcc cc
colinux:/usr/sh4-linux/distcc/bin# ln -s /usr/bin/sh4-linux-gcc sh4-linux-gcc
colinux:/usr/sh4-linux/distcc/bin# ln -s /usr/bin/sh4-linux-g++ g++
colinux:/usr/sh4-linux/distcc/bin# ln -s /usr/bin/sh4-linux-g++ c++
colinux:/usr/sh4-linux/distcc/bin# ln -s /usr/bin/sh4-linux-g++ sh4-linux-g++
colinux:/usr/sh4-linux/distcc/bin# ls -l
c++ cc g++ gcc sh4-linux-g++ sh4-linux-gcc
-distccサーバdistccdの起動
colinux:~# /etc/init.d/distcc start
Starting Distributed Compiler Daemon: distccd.
**Landisk 側の設定
-distccのインストール&br()(クライアント側なのでサーバは起動させない)
landisk:~# aptitude install distcc
-&nowiki(){~/.distcc/hosts の作成}&br()ホームディレクトリに ~/.distcc/hosts を用意し、そこに distcc サーバの IP アドレスを記述&br()colinux の例では、ポートフォワードを行う WindowsXP の IP アドレスを記述
192.168.1.y
↑distcc サーバの IP アドレス
-コンパイラの指定&br()・・・これはすでにあったんだっけな(==;忘れた orz.. とりあえずこんな感じにできていればいいと思う
landisk:~# ls -l /usr/lib/distcc
合計 0
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 c++ -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 cc -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 g++ -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 g++-2.95 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 g++-3.0 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 g++-3.2 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 g++-3.3 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 g++-3.4 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 g++-4.0 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 gcc -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 gcc-2.95 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 gcc-3.0 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 gcc-3.2 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 gcc-3.3 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 gcc-3.4 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 gcc-4.0 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-g++ -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-g++-2.95 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-g++-3.0 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-g++-3.2 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-g++-3.3 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-g++-3.4 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-g++-4.0 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-gcc -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-gcc-2.95 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-gcc-3.0 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-gcc-3.2 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-gcc-3.3 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-gcc-3.4 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-gcc-4.0 -> ../../bin/distcc
すげぇいっぱいあるな
--パスの設定&br()Landisk 側で、先ほどリンクしたコンパイラが優先して呼ばれるように、パス設定を行う
export PATH=/usr/lib/distcc:$PATH
※ make する前に必ずこのパス設定を行うこと!
以上で準備完了
Counter:&counter(), today:&counter(today), yesterday:&counter(yesterday)
-----------
ほぼ kogiidena さんのページどおりですが、gcc などのバージョンに違いがあり、少々苦労しました・・・
*PC環境
Provider---Router-+
|
+- LANDISK(開発機…distccクライアント)
| [192.168.1.x]
|
+- Windows XP -+
[192.168.1.y]|
+-colinux (distccサーバ)
[192.168.40.2]
*colinux の立ち上げ
-もともと debian26/sarge 用に debian/sarge が(クリーン)インストールしてあった
-それを etch にアップグレードして使うことにした
-環境立ち上げ後、WindowsXP のポート 3632 を colinux 側にフォワード
--[コントロールパネル] の [Windows ファイアウォール] を選択
--[詳細設定] タブにある [ネットワーク接続] の設定から WindowsXP が使用している接続を選択して [設定] ボタンを押す
--[サービス] タグを表示させ [追加] ボタンを押す
--[サービスの名前] は適当に・・・
--[ネットワークでこのサービスを・・・] はフォワード先の IP アドレスを記述(自分は 192.168.40.2 を記述した)
--[このサービスの外部ポート番号], [このサービスの内部ポート番号] はどちらも [3632]
--[ TCP/UDP ] は [ TCP ] を選択
*colinux上にクロス開発環境を構築
-deiban/etch 環境の準備
--Landisk の debian は etch になっているので colinux 側も etch で構築
-i386 の開発環境を入れる
--Landisk にインストール済みの gcc, g++ などのバージョンにあわせる必要がある(?)ので http://snapshot.debian.net/ を利用して過去のバージョンをインストールする&br()下記の項目を /etc/apt/souce.list に追加
#archive
deb http://snapshot.debian.net/archive pool gcc-3.4
deb-src http://snapshot.debian.net/archive pool gcc-3.4
deb http://snapshot.debian.net/archive pool gcc-4.0
deb-src http://snapshot.debian.net/archive pool gcc-4.0
--dpkg-dev,gcc,g++,gcc-3.4-base … 開発環境基本セット
--binutils-multiarch … マルチアーキテクチャ対応のbinutils
--dpkg-cross … クロス環境サポートのdpkg
# aptitude install dpkg-dev gcc g++ gcc-3.4-base binutils-multiarch dpkg-cross
--/etc/dpkg-cross/cross-compile の編集&br()次の1行を加える
default_arch = sh4
- sh4のクロスコンパイラセットのインストール&br()http://iohack.sourceforge.jp/kogiidena/debian26/CROSS/sh4-cross-20051023.tgz&br()を取得して中身を全てdpkg -i でインストールする
--中身
binutils-sh4-linux_2.16.1-2_i386.deb
cpp-3.4-sh4-linux_3.4.4-5_i386.deb
cpp-4.0-sh4-linux_4.0.2-2_i386.deb
g++-3.4-sh4-linux_3.4.4-5_i386.deb
g++-4.0-sh4-linux_4.0.2-2_i386.deb
gcc-3.4-sh4-linux_3.4.4-5_i386.deb
gcc-4.0-sh4-linux_4.0.2-2_i386.deb
libc6-dev-sh4-cross_2.3.5-7_all.deb
libc6-sh4-cross_2.3.5-7_all.deb
libdb1-compat-sh4-cross_2.1.3-7_all.deb
libgcc1-sh4-cross_4.0.2-2_all.deb
libncurses5-dev-sh4-cross_5.4-4_all.deb
libncurses5-sh4-cross_5.4-4_all.deb
libstdc++6-4.0-dev-sh4-cross_4.0.2-2_all.deb
libstdc++6-dev-sh4-cross_3.4.4-5_all.deb
libstdc++6-sh4-cross_3.4.4-5_all.deb
libstdc++6-sh4-cross_4.0.2-2_all.deb
linux-kernel-headers-sh4-cross_2.6.13+0rc3-2_all.deb
-以上でクロス開発環境の構築が終了
*distcc環境の構築
**colinux 側の設定
-distcc のインストール
colinux:~# aptitude install distcc
-/etc/default/distcc の編集
STARTDISTCC="true"
#ALLOWEDNETS= 接続を許可するクライアントの IP アドレスを指定
ALLOWEDNETS="192.168.1.0/24 127.0.0.1"
#PATH= クロスコンパイラのパス設定
PATH=/usr/sh4-linux/distcc/bin:$PATH
LISTENER="0.0.0.0"
-パス上にクロスコンパイラを用意&br()パスのトップに /usr/sh4-linux/distcc/bin を追加したのでその場所に優先して呼び出したいコンパイラを用意する
colinux:~# mkdir -p /usr/sh4-linux/distcc/bin
colinux:~# cd /usr/sh4-linux/distcc/bin/
colinux:/usr/sh4-linux/distcc/bin# ln -s /usr/bin/sh4-linux-gcc gcc
colinux:/usr/sh4-linux/distcc/bin# ln -s /usr/bin/sh4-linux-gcc cc
colinux:/usr/sh4-linux/distcc/bin# ln -s /usr/bin/sh4-linux-gcc sh4-linux-gcc
colinux:/usr/sh4-linux/distcc/bin# ln -s /usr/bin/sh4-linux-g++ g++
colinux:/usr/sh4-linux/distcc/bin# ln -s /usr/bin/sh4-linux-g++ c++
colinux:/usr/sh4-linux/distcc/bin# ln -s /usr/bin/sh4-linux-g++ sh4-linux-g++
colinux:/usr/sh4-linux/distcc/bin# ls -l
c++ cc g++ gcc sh4-linux-g++ sh4-linux-gcc
-distccサーバdistccdの起動
colinux:~# /etc/init.d/distcc start
Starting Distributed Compiler Daemon: distccd.
**Landisk 側の設定
-distccのインストール&br()(クライアント側なのでサーバは起動させない)
landisk:~# aptitude install distcc
-&nowiki(){~/.distcc/hosts の作成}&br()ホームディレクトリに ~/.distcc/hosts を用意し、そこに distcc サーバの IP アドレスを記述&br()colinux の例では、ポートフォワードを行う WindowsXP の IP アドレスを記述
192.168.1.y
↑distcc サーバの IP アドレス
-コンパイラの指定&br()・・・これはすでにあったんだっけな(==;忘れた orz.. とりあえずこんな感じにできていればいいと思う
landisk:~# ls -l /usr/lib/distcc
合計 0
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 c++ -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 cc -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 g++ -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 g++-2.95 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 g++-3.0 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 g++-3.2 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 g++-3.3 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 g++-3.4 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 g++-4.0 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 gcc -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 gcc-2.95 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 gcc-3.0 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 gcc-3.2 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 gcc-3.3 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 gcc-3.4 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 gcc-4.0 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-g++ -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-g++-2.95 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-g++-3.0 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-g++-3.2 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-g++-3.3 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-g++-3.4 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-g++-4.0 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-gcc -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-gcc-2.95 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-gcc-3.0 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-gcc-3.2 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-gcc-3.3 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-gcc-3.4 -> ../../bin/distcc
lrwxrwxrwx 1 root root 16 2008-05-23 21:29 sh4-linux-gnu-gcc-4.0 -> ../../bin/distcc
すげぇいっぱいあるな
--パスの設定&br()Landisk 側で、先ほどリンクしたコンパイラが優先して呼ばれるように、パス設定を行う
export PATH=/usr/lib/distcc:$PATH
※ make する前に必ずこのパス設定を行うこと!
以上で準備完了
-----------
表示オプション
横に並べて表示:
変化行の前後のみ表示: