2010/09/20

GentooでDistccとCrossdev

x86_64のマシンでi686のビルドを肩代わりしたいのでクロスコンパイル環境を構築してみる
ちなみに今まではKVMで動いているi686なGentooに処理を投げていた
Gentooへの移行を進めるためにも必要かな、ということで

Gentoo Linux ドキュメント -- DistCC クロスコンパイルガイド


distccの環境は構築されていることを前提として話を進めます
構築してない場合はGentoo公式とかこことかを見ると良いと思う

まずx86_64のマシンでの作業
クロスコンパイル環境の構築はGentooでは簡単で以下のコマンドを実行するだけ

# emerge crossdev
# vi /etc/make.conf
PORTDIR_OVERLAY="/usr/local/portage" ←追加
# crossdev -S -t i686



次にi686のマシンでの作業
ラッパースクリプトが必要なので作成する

# cd /usr/lib/distcc/bin
# vi i686-pc-linux-gnu-wrapper

#!/bin/bash
exec /usr/lib/distcc/bin/i686-pc-linux-gnu-${0##*/} "$@"

# chmod +x i686-pc-linux-gnu-wrapper


既存のリンクを張りなおす

# rm c++ cc g++ gcc
# ln -s i686-pc-linux-gnu-wrapper c++
# ln -s i686-pc-linux-gnu-wrapper cc
# ln -s i686-pc-linux-gnu-wrapper g++
# ln -s i686-pc-linux-gnu-wrapper gcc


以上で設定は完了
i686のマシンでemergeを実行するとx86_64のマシンにジョブが投げられるはず

0 件のコメント:

コメントを投稿