SSD/Linux 0.3 on OBS200
glibcを再コンパイルする
OBS200上でglibcをネイティブにビルドする。 64MBのメモリでは足りないので、スワップを作る必要がある。 下記の手順ではスワップパーティションではなく、スワップファイルを使う。
pushd /tmp dd if=/dev/zero of=swap bs=1024 count=102400 /sbin/mkswap swap /sbin/swapon swap pushd /usr/src/lib/glibc bmake -DNOCLEAN > build.log 2>&1 & bmake install /sbin/swapoff -a rm /tmp/swap
Ruby 1.8 インストール
ただconfigureしただけではsocket.soのロード時にエラーが出る。
obs[58]$ posttdiary-ex.rb -i /home/hoge/htdocs/diary-images/ -u http://yoursite.jp/~hoge/diary-images/ -t 120x120 -s -g 800x800 http://yoursite.jp/~hoge/diary/update.rb a a /usr/local/lib/ruby/1.8/powerpc-linux/socket.so: /usr/local/lib/ruby/1.8/powerpc-linux/socket.so: R_PPC_REL24 relocation at 0x0fd1618c for symbol `__pthread_mutex_lock' out of range - /usr/local/lib/ruby/1.8/powerpc-linux/socket.so (LoadError) from /usr/local/lib/ruby/1.8/net/protocol.rb:21 from /usr/local/lib/ruby/1.8/net/http.rb:28:in `require' from /usr/local/lib/ruby/1.8/net/http.rb:28 from /usr/local/bin/posttdiary-ex.rb:900:in `require' from /usr/local/bin/posttdiary-ex.rb:900
下記のオプションでconfigureすればよい。
./configure --enable-pthread make su make install
glibcを再コンパイルしたり、いろいろなconfigureオプションを試してみたが、結局のところ必要なのはpthreadの有効化である。