Tuesday Jan 17, 2006
Friday Aug 26, 2005
インスタントメッセンジャーのことを書いたら Ivan さんという方から Solaris 用の最新の GAIM は ここ にあるよ~というのを教えてもらいました。最新のものをこうやってインストールして使うのも手ですよね。こういうサイトがあったとは知りませんでした。Gaim の話の続きを書こうとしていたときだったのでちょうどよかったです。情報ありがとうございました。
このバグなんとかならないものか…
Gaim は簡単に使えます!と書いたのですが実は一つだけ頭を悩ます問題があります。チャットを初めてすぐに気がつくと思いますが日本語入力中にリターンキーがききません

これはず~っと前からあるバグ(?)なのですがまだ直っていないようですね。すごく残念です。日本語をオンにして何か文字を書き変換、ここでリターンで確定しようと思いきや…リターンキーで確定できません。sourceforge で登録されている 840904 だと思うのですけどとっても不便ですよね~。ずいぶん前、まだ Gaim のバージョンが 0.6x くらいの時に Linux 使いの友人に「これ不便じゃないの?」って聞いたら「こういうものだと思って使っているから慣れました~」と言われたことがあります。彼は もじら組 関係の友人だったのですがまだ当時は大学生でした。若いってすぐ慣れていいですよね。
1.5.0 で直してみよう
Gaim の 0.6x 時代に自分で作ったパッチがあったのでそれを 1.5.0 に当ててみようと思い http://gaim.sourceforge.net/ から 1.5.0 のソースを取ってきて自分でビルドしてみることにしました。前にビルドを試したときはたしか… Solaris 9 だったでしょうかね、Mozilla のセキュリティライブラリが必要うんぬんと言われていろいろ試したのですが挫折しちゃいました。MSN がある時期からセキュリティライブラリがないと繋がらなくなってしまったのです。
Solaris 10/JDS では configure & make ですんなりビルドできました、と書くつもりだったのですが、いくつかつまずいてしまいました。
configure してみた
なにも考えずに configure を走らせてみました。
% uname -a SunOS xxxxx 5.10 Generic i86pc i386 i86pc % ./configure checking build system type... i386-pc-solaris2.10 checking host system type... i386-pc-solaris2.10 checking target system type... i386-pc-solaris2.10 checking for a BSD-compatible install... ./install-sh -c checking whether build environment is sane... yes .... gaim 1.5.0 Build Protocol Plugins........ : yes Protocols to link statically.. : Protocols to build dynamically : gg irc jabber msn napster novell oscar yahoo zephyr UI Library.................... : GTK 2.x SSL Library/Libraries......... : GNUTLS Build with Plugin support..... : yes Build with Perl support....... : yes Build with Tcl support........ : no Build with Tk support......... : no Build with Audio support...... : no Build with NAS support........ : no Build with GtkSpell support... : no Use kerberos 4 with zephyr.... : no Use external libzephyr........ : no Use XScreenSaver Extension.... : yes Use X Session Management...... : yes Use startup notification.......: yes Print debugging messages...... : no Gaim will be installed in /usr/local/bin. Warning: You have an old copy of gaim at /usr/bin/gaim. configure complete, now type 'make' %
configure は無事通ったみたいですね。コンパイラは gcc ではなくもちろん Sun のコンパイラを使いました。以前私が悩んだ Mozilla のセキュリティライブラリが見つからないで止まってしまうのは大丈夫だったみたいですね。あれ…でもおかしいな、SSL Library/Libraries は GNUTLS とありますね
このままでもビルドは通って使えるようにはなったのですが、うむ~せっかく Mozilla も入っているのだからそっちを使ってみたいですよね。それと前に挫折した雪辱でもありますからね。
NSS を使うようにしてみた
configure -help してみると GNUTLS も Mozilla libnss もデフォルトでは yes だけれどもどうやら Mozilla libnss が見つからなかったみたです。
--enable-gnutls=yes,no Attempt to use GNUTLS for SSL support (preferred) default=yes --enable-nss=yes,no,static Attempt to use Mozilla libnss for SSL support default=yes
Mozilla は /usr/sfw/ 以下に入っているからなんでしょう、/usr/bin/pkg-config では Mozilla は出てこないのですよね。/usr/sfw/lib/pkgconfig には Mozilla 関連の pc ファイルがありますがこれらを使うのにはどうしたらいいのでしょう?? pkg-config に詳しくないのでわかりませんでした。かわりに configure にオプションをつけることにします。次は以下のように GNUTLS をオフにして、NSS、NSPR を指定して configure してみました。
./configure \
--enable-gnutls=no \
--with-nspr-includes=/usr/sfw/include/mozilla/nspr \
--with-nspr-libs=/usr/sfw/lib/mozilla \
--with-nss-includes=/usr/sfw/include/mozilla/nss \
--with-nss-libs=/usr/sfw/lib/mozilla
すると、お~今度は Mozilla NSS をちゃんと見に行ってくれていますね!
... Build Protocol Plugins........ : yes Protocols to link statically.. : Protocols to build dynamically : gg irc jabber msn napster novell oscar yahoo zephyr UI Library.................... : GTK 2.x SSL Library/Libraries......... : Mozilla NSS Build with Plugin support..... : yes Build with Perl support....... : yes Build with Tcl support........ : no ...
あとは make して make install するだけです。
gtkconv.c のパッチを当てよう
Gaim の 0.6x 時代の自分のパッチを当てようとしたのですがうまく当たらず、手で修正を入れようとしたのですがす~っかりコードを見る力がなくなってしまったのかコンパイルすら通りません
…いろいろ調べていくと世の中にこの問題で困っている人は多いのでしょう、修正コードがいたるところで公開されていました。gtkconv.c と im_context で検索してみてください。すぐにヒットするはずです。
パッチを当ててビルドし直すと…めでたくこれで普通に日本語入力が使えるようになりました!!
バグの本質を完全に理解していないので世に出ているパッチが正しいかどうかわかりませんが、是非次の JDS の Gaim にはこのパッチを入れてほしいな~と思っています。あ、JDS の Gaim に対してバグ登録しちゃっておけばいいのか…なんだ、なんだ、そうしておこう 
あとちょい…
ビルドで「いくつかつまずいてしまった」と書いたのは Build with Audio support: no と出てしまうところです。実際 configure のところで pkg-config では "Audio File Library" のバージョンを正しく返しているようですがチェックでへくっているいるようです…おかしいなぁ。
Tuesday Aug 23, 2005
GAIM
CDE から Java Desktop System になってユーザーのデスクトップ環境はとても使いやすくなっていますよね。インスタントメッセンジャーもその一つです。JDS には Gaim が入っています。知っている人も多いと思いますがオープンソースのインスタントメッセンジャーで、便利なことにこれ一つで MSN とか Yahoo! とか AOL とかと全部つながってしまいます。普段 Windows でメッセンジャーを使っていてアカウントを持っている人は是非試してみてください。あっさり繋がってしまいます
JDS の Gaim はバージョンは v0.82.1 とありますね。これってずいぶん古いのかな~今見ると 1.5.0 が一番最新のバージョンのようですが Solaris 10 JDS のもので十分使えます。今は Yahoo Japan にも繋がるようになっていますね。
Netscape の AIM
Solaris 環境では今までは単体としてのインスタントメッセンジャーは入っていなかったのですが Netscape 7 で AIM のクライアントがいっしょに入っていたのはご存じですか? AOL にしかつながりませんでしたけどあれはあれで便利で、AIM に登録してあるメールアドレスのメールをもらうとメールアドレスの脇に AIM のアイコンを表示してくれてそこからすぐにチャットを始めることができます。Mozilla の開発は当時開発者同士 AIM を使って話をすることが多かったですね。サインインしておくと向こうの開発者からよく話しかけられてしまってあたふたしてしまった記憶があります。

実際に使ってみた
JDS の Gaim を実際に使ってみました。
1. メニューから「インスタントメッセンジャー」を選択します
2. アカウントを追加して行きましょう。「プロトコル」のメニューにはこれだけのものがあります。私が実際に使ってことがあるのは AIM, MSN と Yahoo です。

3. 日本では Yahoo! よりも Yahoo! Japan のアカウントを持っている人がほとんどだと思います。「プロトコル」で「Yahoo」を選んでさらに「他のオプションも表示」をクリックすると詳細なオプションが出てきます。そこで「Yahoo Japan」にチェックを入れましょう。

4. ログインID、パスワードを入れておしまいです。アカウントを作成したらログインしてみましょう。無事に AIM と Yahoo! Japan につながりましたね

This blog copyright 2009 by katakai



