
Ubuntu日本語フォーラム

ログインしていません。
お世話になります。
Ubuntu9.10を使用しています。
scim-setupを実行すると、下記のようなメッセージが出力され
設定画面が表示されない問題が発生しています。
$ scim-setup
/usr/lib/python2.6/lib-dynload/_ctypes.so: undefined symbol: PyType_GenericNew
/usr/lib/python2.6/lib-dynload/datetime.so: undefined symbol: _Py_ZeroStruct
Traceback (most recent call last):
File "/usr/share/scim-python/setupui/__init__.py", line 27, in <module>
import gtk
File "/usr/lib/pymodules/python2.6/gtk-2.0/gtk/__init__.py", line 30, in <module>
import gobject as _gobject
File "/usr/lib/pymodules/python2.6/gtk-2.0/gobject/__init__.py", line 26, in <module>
from glib import spawn_async, idle_add, timeout_add, timeout_add_seconds, \
File "/usr/lib/pymodules/python2.6/gtk-2.0/glib/__init__.py", line 22, in <module>
from glib._glib import *
ImportError: /usr/lib/libpyglib-2.0-python2.6.so.0: undefined symbol: PyExc_ImportError
Segmentation faultここ最近気がついたらこのような症状が発生しました。
残念ながら、上記現象のトリガーとなるインストール・設定変更等に心当たりや記憶がありません。
行った事としては、scimを一度アンインストールし、再度インストールを行いました。
また、~/.scimディレクトリの削除を行い、設定の初期化も実施しましたが現象に変化はありませんでした。
この現象を回避し、SCIMの設定画面を表示して設定変更を行いたいと考えています。
なお、日本語入力に関しては、ご覧の通り入力・変換そのものは可能です。
(該当Ubuntuマシンより投稿しています)
情報が不足している場合は、追ってこちらに記載致します。
よろしくお願い致します。
オフライン
エラーメッセージによるとシンボルが3つ未定義(undefined symbol)となっています.
此方(9.10)で確認したら,これらのシンボルを定義しているのは python の実行ファイル でした.
$ objdump -T /usr/bin/python2.6 | grep 'PyType_GenericNew\|_Py_ZeroStruct\|PyExc_ImportError' 0825ffe4 g DO .data 0000000c Base _Py_ZeroStruct 080a6ce0 g DF .text 00000019 Base PyType_GenericNew 0821cc40 g DO .data 00000004 Base PyExc_ImportError
此方での python 実行ファイルの情報は次のとおりでした.
$ ls -l `which python` lrwxrwxrwx 1 root root 9 2009-11-16 21:25 /usr/bin/python -> python2.6 $ ls -Ll `which python` -rwxr-xr-x 1 root root 2230352 2009-12-08 04:38 /usr/bin/python
そちらでの情報と比較して下さい.
オフライン
根本解決は難しそうですので、応急処置の方法を書いてみます。
(すでにご存知でしたらすいません。)
SCIMの設定は ~/.scim ディレクトリの下のファイルに記憶されています。
ほとんどが config で、キーボードレイアウトなどは global というファイルのようです。
テキストファイルですのでエディタで編集できます。
9.04で見てみると、configは結構な行数がありますが、
それなりに当たりがつくようなエントリ名になっていると思います。
あまり沢山でなければ、0904でいじってみて設定画面との対応をお教えすることもできます。
どうしてもSCIMでなければならない理由があれば別ですが、この機会にiBusに乗り換えられてはどうでしょうか。
標準はiBusに変わっていて、これからもUbuntuを使っていくのであれば移行は避けられないと思います。
追加的な情報ですが、遭遇されたバグはすでに2010-01-25 にLPにバグ報告が上がっているようです。(StatusはNewのまま)
Setup-utility "scim-setup" crashes on x86 only.
https://bugs.launchpad.net/ubuntu/+source/scim/+bug/512064
einundzwanzighundertsechsさんのご意見はあまり正鵠を得ていないように思われます。
http://docs.python.org/c-api/exceptions.html?highlight=pyexc_importerror
をみるとPyExc_ImportErrorはPythonにおけるImportErrorとなっており、言語仕様のごく基本的な要素です。
/usr/bin/python2.6でこれが定義されていなければもっとあちこちで問題が発生すると思います。
python2.6はごく最近更新されたようですが、#512064が2010-01-25に報告されていることを考えるとエラーの原因とは考えにくいです。
オフライン
MidSpecLowLoadさん による投稿:
/usr/bin/python2.6でこれが定義されていなければもっとあちこちで問題が発生すると思います。
Ubuntu の python で,問題のシンボルが未定義になっているとは考えてはいません.
過去に /usr/local にインストールされた旧バージョンの python がトラブルを起こしたことが有ります.その時の質問者はインストールした認識すら無い様子でした.
実際のところ libpython2.6.so.1.0 も疑わしいのだけれど,
$ objdump -T /usr/lib/libpython2.6.so.1 | grep 'PyType_GenericNew\|_Py_ZeroStruct\|PyExc_ImportError' 001f5320 g DO .data 00000004 Base PyExc_ImportError 001f0b64 g DO .data 0000000c Base _Py_ZeroStruct 000868c0 g DF .text 0000001c Base PyType_GenericNew
scim をインストールしていない私には,scim 関連ファイルのどれがこのライブラリをリンクしているのか掴めず,
scim-setup が "PATH 上の python","/usr/bin/python", "libpython2.6.so.1.0" のうちどれを使おうとしているのか判りません.
まずは普段使いのコマンドで "PATH 上の python" が Ubuntu 由来のものなのかを調べて,可能性の一つを潰しておこうと思ったのです.
オフライン
SCIMそのものではPythonは一切使っていないので、scim-pythonをインストールしてあったりしませんか?
これを消したら挙動が変わったりしませんか?
オフライン
einundzwanzighundertsechs さん
私の発言が浅知恵でした。申し訳ありません。
Ikuyaさんの投稿で解決しそうですが、しなければ
PATHで引っかかるものをチェック、問題なければ、
$ LD_DEBUG=libs scim-setup
でどのライブラリを見に行っているかチェックでしょうか。
(結構な分量の出力がでますが)
オフライン
お返事が遅れてしまい申し訳ございませんでした。
多くの情報を頂いて感謝しております。
頂いた情報の中で下記作業を実施した所、問題の現象が回避され、正常に設定画面が表示される事を確認しました。
ikuya による投稿:
SCIMそのものではPythonは一切使っていないので、scim-pythonをインストールしてあったりしませんか?
これを消したら挙動が変わったりしませんか?
また、再度インストールしてみると、確かに同様のエラーが発生する事も確認しました。
残念ながら「scim-python」をインストールした記憶が無く、ソフトの出し入れを頻繁に行っていた時期があり、
そのタイミングでインストールされた可能性がありますが、私の中では認識はありませんでした。
参考までにエラー時と、そうでない時のシンボル定義情報確認しましたが、差異はありませんでした。
$ objdump -T /usr/lib/libpython2.6.so.1 | grep 'PyType_GenericNew\|_Py_ZeroStruct\|PyExc_ImportError' 4ad35320 g DO .data 00000004 Base PyExc_ImportError 4ad30b64 g DO .data 0000000c Base _Py_ZeroStruct 4abc68c0 g DF .text 0000001c Base PyType_GenericNew
対処方法が分かるまでibusにしていましたが、現在は元通りのscimに戻り、問題なく使用出来ています。
皆様有難うございました。
オフライン