clang のインストール
cd /path/to
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
cd ..
./configure
make
cd /path/to
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
cd ..
./configure
make
Kai 以外で gen_fsm を使ってる例を久しぶりに見た。素敵。
状態ごとの説明は、勉強会で教えてもらえるかもしれないので
今のうちに疑問点を洗い出す。
まずは、ディクレクトリ構成の変更と
coordinator を gen_server 化する事から始める予定。
議題ごとに gen_fsm を使い捨てているので
どっかにプロセスをストックしておいて
再利用できないもんかなぁ?(優先度低)
nil
preparing
proposing
acceptor
learner
decided
実際に動かしてみた
幾つかのノードを起動し、幾つかの議題を出してみた。
その後、過半数のノードを除去し、議題を出すと、ひたすら合意を取り続ける。
この状態で、除去したノードと同じ名前のノードを復活させ、net_adm_ping/1 で繋ぐ。
予想では、ここで合意が取れると思ったが、駄目だった。
ノードの追加・除去に対応できるよう、ノードの一覧は外だしにした方が良いかも。
あとは、合意を取る最大回数も欲しい。
合意の間隔と回数は、起動時のグローバル値と、合意単位で設定するローカル値に分割すると使いやすいかも?
use Coro;
use Coro::Select;
sub printit {
my ($string) = @_;
for (1..5) {
print $string, “\n”;
select undef, undef, undef, 1;
}
}
for my $coro (
async { printit ‘foo’ },
async { printit ‘bar’ },
) {
$coro->join;
}
社内の Ruby 環境は、これに統一する事にした。
諸々全て /opt/ruby-enterprise-X.X.X-YYYYMMDD 配下にインストールされるので
確かに No Risk で導入検証できる。
wget http://rubyforge.org/frs/download.php/58677/ruby-enterprise-X.X.X-YYYYMMDD.tar.gz
tar zxvf ruby-enterprise-X.X.X-YYYYMMDD
sudo ./ruby-enterprise-X.X.X-YYYYMMDD/installer
ただし、Tiger だと以下のエラーが出た。
/usr/bin/ld: unknown flag: -rpath
あとで調べる。
同じ事で困っている人がいた。
http://groups.google.com/group/emm-ruby/browse_thread/thread/bf4597c49cfa028a?pli=1
rpath については、これが参考になる。
http://www.finkproject.org/doc/porting/porting.ja.html
sudo ./installer -c ‘—disable-rpath’
も、駄目だった。ruby の configure に —disable-rpath が渡っているのは確認済み。
.vimrc で文字コード判別している箇所を if !has(‘kaoriya’) でザックリ不使用にした。
何故か、MacVim だと動く rails.vim が動かなくなった。
頻繁に rails で仕事するわけではないので、後で気が向いたら調べる。