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の有効化である。