が、firefox は、suse の projects から持ってきた 64bit 版 では flash やら java やらが使えないのに我慢できなくて、前に使っていた本家の 32bit firefox に戻した。
64bit 環境では flash が使えないのは知っていたし、java も多分 32bit 版の方を入れれば使えるんだろうけど(64bit 版には java plugin のパッケージがない)、やっぱ flash みれないと困ることがあって。
あと、自動更新が有効になってるくせに、自動更新で本家から落としてきたアップデータでアップデートしても、アップデートできず、一々 projects から持ってきてアップデートしなきゃならん、というのもうんざりだった。だったら初めから自動更新無効にしとけよと。
んじゃ、日本語入力はどうしてるのか?また canna に戻したのか?というと、実は scim が使えている。
どうしてかというと、suse には scim-32bit というパッケージがあり、こいつを入れてやれば 32bit firefox でも scim が使えることにやっと気づいた。お、俺の苦労は一体… orz
ただ、scim が起動していない状態で firefox を起動すると、scim の起動に失敗するのか、firefox が上がらない。上がらないどころか、firefox-bin のプロセスがたくさん生まれてくる。しかし、特にエラーらしいメッセージはない。
予め scim が上がっていれば firefox もちゃんと起動し、scim が使える。
というわけで、scim-bridge なしでも困らない状況になってしまったのだが、このままではやっぱ悔しいので、scim-bridge のビルドにも再度挑戦してみた。
やろうとしているのは要するに、64bit の環境で i686 の scim-bridge をクロスコンパイルすることだが、suse のパッケージを眺めていたら cross-*-binutils というパッケージがあるのに気づいた。「多分、これはクロスコンパイルするときに使うものだろう」と思ったので、喜び勇んで cross-i386-binutils を入れて再挑戦してみた。
結果は見事に撃沈 orz
しかも状況が自分の理解を超えてるのでもうダメぽ
普通に rpmbuild -tb --target=i686 だと 64bit バイナリになってしまう。
「一遍にやろうとせずに、一歩ずつ行くか」と思って ./configure --prefix=/opt/gnome --host=i686 --disable-static としてみたら、何故か share が no で static が yes になってしまう。そのまま make するとやはり 64bit になってしまう。
これはもう、自分がクロスコンパイルのことを根本的に分かってない以上、どうもならん。ちゃんと勉強してからにしようと思いマスタ。
分かってる人には「そんなのそうなるの当たり前じゃん」と思われてるんだろうなと思いますが、知らんものは知らん。分からんものは分からん。(ほんとはとっても恥ずかしい…)
で、scim-bridge は x86 な環境をどっかに作って、そこで普通にビルドして、そいつを持ってくればいいかな、と思うのですが、ちっと分からんことが。
以前の大力さんのコメントにもあったし、開発室『芝玉』にも書かれてますけど、
32bitアプリケーションから64bit SCIMを使えます。(32bit版client-gtkが別途必要)
この「client-gtk」ってどれのことなんでしょう?
fedora や momonga のパッケージの中を見てもそういう名前のものは入ってないし、make して見ても client-gtk フォルダの中にやはりそういう名前のものはないし、im-scim-bridge.{la,so} のことでいいんだろうか?
まぁ、また時間を見つけてやってみるべ。
【関連する記事】


すみません、自分でもさんざん嵌まっていた癖に、数週間たったらすっかり忘れていました。
一つ目は、staticの問題で、何も指定しなければ--disable-static扱いになるので忘れてください。
二つ目は、x86_64上でコンパイルすると、i686ターゲットを指定していても、lib64のライブラリとリンクを張ってしまうことです。
こちらは、コンパイル前にMakefileに下記のような修正を当ててください。
sed -i -e "s/lib64/lib/g" libtool
sed -i -e "s/lib64/lib/g" client-gtk/Makefile
client-gtkは、想像通りです。
im-scim-bridge.soを/usr/lib/gtk-2.0/immodulesにインストールして、update-gtk-immodules i*86-*-linux-gnuを実行すればOKです。