2012/2/10 Yamashiro, Jun <yama...@ofug.net>: > お久しぶりです。山城@OFUG です。
どうもありがとうございます。 > NetBSD 上で Qt4 immodule オプションを有効にすると、Qt4 を使用しているアプリケーションの > 起動時に、下記のエラーを出して終了します。 > > $ vlc > VLC media player 1.1.10 The Luggage (revision exported) > /usr/pkg/qt4/plugins/inputmethods/libuiminputcontextplugin.so: Undefined PLT > symbol "uim_counted_init" (symnum = 720) > > uim_counted_init() がリンクされていないために、実行時にエラーとなってしまいます。 了解です。 > libuim-counted-init.la をリンク対象としてこの問題を解決するために、 > 下記のパッチを作成しました。ご確認お願いします。 [...] > --- qt4/immodule/quiminputcontextplugin.pro.in.orig 2011-09-18 > 00:16:56.000000000 +0900 > +++ qt4/immodule/quiminputcontextplugin.pro.in 2011-09-18 00:17:24.000000000 > +0900 > @@ -3,7 +3,7 @@ > TEMPLATE = lib > CONFIG += plugin > > -LIBS += @X11_LIBS@ ../../uim/.libs/libuim-counted-init.a > +LIBS += @X11_LIBS@ ../../uim/libuim-counted-init.la > > # Input > HEADERS += @srcdir@/abstractcandidatewindow.h \ うーん。これでコンパイル通るのでしょうか? Linux 上でそのような変更をすると、 g++ -Wl,-O1 -shared -o libuiminputcontextplugin.so abstractcandidatewindow.o candidatetablewindow.o candidatewindow.o caretstateindicator.o plugin.o qhelpermanager.o qtextutil.o quiminfomanager.o quiminputcontext.o subwindow.o quiminputcontext_compose.o moc_abstractcandidatewindow.o moc_candidatetablewindow.o moc_candidatewindow.o moc_caretstateindicator.o moc_plugin.o moc_qhelpermanager.o moc_qtextutil.o moc_quiminputcontext.o moc_subwindow.o -L/home/kato/src/uim/branches/1.7/uim -L/home/kato/src/uim/branches/1.7/replace -L/home/kato/src/uim/branches/1.7/replace/.libs -L/home/kato/src/uim/branches/1.7/uim/.libs -L/usr/lib64 -lreplace -luim -luim-scm -luim-x-util -lX11 ../../uim/libuim-counted-init.la -lQt3Support -lQtSql -lQtXml -lQtNetwork -lQtGui -lQtCore -lpthread -L/home/kato/src/uim/branches/1.7/replace/.libs -L/home/kato/src/uim/branches/1.7/uim/.libs ../../uim/libuim-counted-init.la: file not recognized: File format not recognized となりリンクできなくなります。 > ※ FreeBSD ports の textproc/uim-qt4 でも同様の修正を行っているようです。 > http://www.jp.freebsd.org/cgi/cvsweb.cgi/ports/textproc/uim-qt4/Makefile このファイルからは、.libs/libuim-counted-init.a から libuim-counted-init.la に 変更しているようには見えませんでしたが、どの点でしょうか? とりあえず確実に libuim-x-util.la, libuim-counted-init.la, libreplace.la を先に コンパイルしておくように指定しているようには見えました。 > ただ、このパッチを当てても、私の環境では uim immodule での日本語入力はできません。 > xim immodule に切り替えると、xim 経由での日本語入力は可能です。この問題の原因は > まだ分かっていません。 Qt4 のテキストウィジェットの右クリックの "Select IM" というメニュには、uim が リストされていますか? されていないのであれば、まずはプラグインのロードが なされていないのだと思います。 -- Etsushi Kato ek.k...@gmail.com -- Google Groups "uim-ja" group uim-ja@googlegroups.com http://groups.google.com/group/uim-ja/about