2003年03月23日(日) [長年日記]
[mac][www] 求む: Mac OS X 用 Conflict Catcher / TidBITS_
Mac OS Xのトラブルシューティング方法が興味深い。
Permalink: http://www.otsune.com/diary/2003/03/23/1.html#200303231
trackback

View blog reactions
Last Updated 2003-03-23 00:00:00 By
trackback
Last Updated 2003-03-23 00:00:00 By
[work][unix] distccで分散コンパイル
ここ三日のmake buildworld祭でやたらとコンパイルしたんで、試してみることに。
portmapを使っていないとこでも、/usr/objをrsyncで持ってくればいいんだけど。
Xeon Dualをdistccに参加させれば、各マシンでportsの導入も楽になりそう。
portupgradeをつかってportinstall ccache distccでインストール。
まずdistccというuserを使おうとするので作成。
Makefileを
service-conf distcc distcc /usr/local/etc/distccd 'tcpserver -RH -x /usr/local/etc/distccd/distccd.cdb 0 3632 /usr/local/sbin/distccd --log-stderr --inetd --no-detach' *3 などとしてdaemontoolsのサービスディレクトリを作成。
runは
マスター側は~/.cshrcなどにsetenv DISTCC_HOSTS "foo bar hoge localhost"と言う感じでdistccホストを指定。
さらに/etc/make.confに
あとln -s /home/ほげ/.ccache /root/.ccache しておくとccacheファイルでルートがあふれるのを防げる。
distccdの数に合わせて、MAKEOPTS="-j8"を調整。ホスト数の2倍がお勧めらしい。
portmapを使っていないとこでも、/usr/objをrsyncで持ってくればいいんだけど。
Xeon Dualをdistccに参加させれば、各マシンでportsの導入も楽になりそう。
portupgradeをつかってportinstall ccache distccでインストール。
まずdistccというuserを使おうとするので作成。
pw groupadd distcc -g 3632 pw useradd distcc -u 3632 -g distcc -s /sbin/nologinデフォルトのport3632 *1 で待ち受けするtcpserverを設定。 *2 daemontoolsだとtcprulesで
127.0.0.1:allow 192.168.:allow aaa.bbb.ccc.ddd:allow :denyというアクセス制限を/usr/local/etc/distccd/distccd.confなどで作成。aaa.bbb.ccc.dddは環境に合わせて適切に。
cd /usr/local/etc/distccd tcprules distccd.cdb distccd.tmp < distccd.confでdistccd.cdbを用意する。
Makefileを
distccd.cdb: tcprules distccd.cdb distccd.tmp < distccd.confで/usr/local/etc/distccd/Makefileとして作っておくとmakeだけで更新できる。
service-conf distcc distcc /usr/local/etc/distccd 'tcpserver -RH -x /usr/local/etc/distccd/distccd.cdb 0 3632 /usr/local/sbin/distccd --log-stderr --inetd --no-detach' *3 などとしてdaemontoolsのサービスディレクトリを作成。
runは
#!/bin/sh exec 2>&1 env - PATH="$PATH" \ tcpserver -RH -x /usr/local/etc/distccd/distccd.cdb 0 3632 /usr/local/sbin/distccd --log-stderr --inetd --no-detachと言う感じ。ついでにlog/runのmultilogに!"/usr/bin/gzip"を追加する。
マスター側は~/.cshrcなどにsetenv DISTCC_HOSTS "foo bar hoge localhost"と言う感じでdistccホストを指定。
さらに/etc/make.confに
CC=/usr/local/bin/ccache /usr/local/bin/distcc CXX=/usr/local/bin/ccache /usr/local/bin/distcc g++ MAKEOPTS=-j8を指定。
あとln -s /home/ほげ/.ccache /root/.ccache しておくとccacheファイルでルートがあふれるのを防げる。
portupgradeでdistcc:
setenv DISTCC_HOSTS '192.168.hoge.1 192.168.fuga.2 localhost' portupgrade -sCc \*で。
distccdの数に合わせて、MAKEOPTS="-j8"を調整。ホスト数の2倍がお勧めらしい。
非力なノートパソコンをdistccで快適に:
ThinkPad 535だと、ちょっとports入れるのでも重い。DISTCC_HOSTSにlocalhostを入れずに、コンパイルする。
time make buildkernelで時間を計ってみる:
ccacheをまっさらにして1回目。
241.857u 44.154s 5:25.25 87.9% 1547+2200k 436+8332io 815pf+0w続きの再起動後2回目。
45.945u 28.086s 1:44.36 70.9% 201+593k 5743+639io 951pf+0w試しにKERNCONF=GENERICでやってみたら、もう少し時間がかかった。INSTKERNNAME=kernel.GENERICも忘れずに。
[ コメントする ]
Permalink: http://www.otsune.com/diary/2003/03/23/2.html#200303232
trackback

View blog reactions
Last Updated 2003-03-23 00:00:00 By
trackback
Last Updated 2003-03-23 00:00:00 By
[www][programming] eXtreme Programming FAQ_
もしかしたら、3D CGのモデリングからデジタルアニメの撮影まで、ペアで作業した方が効率が良くなるのかもしれない。
それにはモデリングテクニックや撮影技法に、再利用可能なパーツ主義を取り入れたツールが必要になるかもしれないけど。
動画ツールはまだLOGOのレベルに達していません。
それにはモデリングテクニックや撮影技法に、再利用可能なパーツ主義を取り入れたツールが必要になるかもしれないけど。
動画ツールはまだLOGOのレベルに達していません。
[ コメントする ]
Permalink: http://www.otsune.com/diary/2003/03/23/3.html#200303233
trackback

View blog reactions
Last Updated 2003-03-23 00:00:00 By
trackback
Last Updated 2003-03-23 00:00:00 By



[ コメントする ]