uconv.so を xrea に

tDiary「本日のリンク元」の検索ワードが激しく文字化けしている.



噂によると,uconv.so を置けばよいらしいのだけど,実は以前から,

から頂いて来た uconv.so を置いていた.なのに文字化けは直らん.xrea の鯖が違うとダメなのだろうか?




ということで,自分のとこの鯖でコンパイルしてみることにした.
uconv モジュールをから落としてきて展開し,xrea 上にアップロード.それから,make するための CGI を書いてアップロードし,実行.ところが

creating Makefile
gcc -fPIC -DUSE_EUC -DUSE_SJIS -I. -I/usr/local/lib/ruby/1.8/x86_64-linux -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -c ustring.c
gcc -fPIC -DUSE_EUC -DUSE_SJIS -I. -I/usr/local/lib/ruby/1.8/x86_64-linux -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -c e2u.c
gcc -fPIC -DUSE_EUC -DUSE_SJIS -I. -I/usr/local/lib/ruby/1.8/x86_64-linux -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -c s2u.c
gcc -fPIC -DUSE_EUC -DUSE_SJIS -I. -I/usr/local/lib/ruby/1.8/x86_64-linux -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -c u2e.c
gcc -fPIC -DUSE_EUC -DUSE_SJIS -I. -I/usr/local/lib/ruby/1.8/x86_64-linux -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -c u2s.c
gcc -fPIC -DUSE_EUC -DUSE_SJIS -I. -I/usr/local/lib/ruby/1.8/x86_64-linux -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -c uconv.c
uconv.c: In function `unknown_euc_handler': uconv.c:630: warning: cast from pointer to integer of different size
uconv.c: In function `unknown_sjis_handler': uconv.c:653: warning: cast from pointer to integer of different size
gcc -shared -L"/usr/local/lib" -o uconv.so ustring.o e2u.o s2u.o u2e.o u2s.o uconv.o -ldl -lcrypt -lm -lc
collect2: fork: Resource temporarily unavailable
make: *** [uconv.so] Error 1

む.fork できないでいる.



さらにぐぐる

同時接続数がいっぱいになってる可能性があるらしい.



なんかもう面倒になってしまったので,Ruby で書かれた rbuconv というのを取って来て入れようかと思ったのだけど,なんか話によると 49 倍くらい遅いらしいと知って萎え.さらに探していたら,xrea でのコンパイル方法を懇切丁寧に説明しているサイトを発見.これに従ってやってみたら,なぜかできてしまった.わはは,何を間違えてたんですかね私は?(ぉ.ので,できた uconv.so を tdiary.rb と同じディレクトリに設置.

文字化けはあっさり直った.やっぱり xrea の鯖が違ったから今まで効いてなかったらしい.



つーわけで,s164 鯖でコンパイルしたものを欲しい方はどうぞ ( ・∀・)つuconv.so

s164 の仕様は,によると,

Athlon64 3500+ 1GB RAID1 (Perl5.8.3 / PHP4.3.10 / MySQL4.0.23 / PgSQL 7.4.5 ※いずれも64bit版)