ソフトエアセンターが、ある日突然、起動しなくなった。apt-get を使うからいいのだが、気持ち悪いので端末より起動してみると、以下のようなエラーがでた。
Traceback (most recent call last):
File "/usr/bin/software-center", line 36, in
from softwarecenter.utils import (
File "/usr/share/software-center/softwarecenter/utils.py", line 19, in
import dbus
File "/usr/lib/python2.7/dist-packages/dbus/__init__.py", line 103, in
from dbus._dbus import Bus, SystemBus, SessionBus, StarterBus
File "/usr/lib/python2.7/dist-packages/dbus/_dbus.py", line 39, in
from dbus.bus import BusConnection
File "/usr/lib/python2.7/dist-packages/dbus/bus.py", line 39, in
from dbus.connection import Connection
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 37, in
from dbus.proxies import ProxyObject
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 34, in
from dbus._expat_introspect_parser import process_introspection_data
File "/usr/lib/python2.7/dist-packages/dbus/_expat_introspect_parser.py", line 26, in
from xml.parsers.expat import ParserCreate
File "/usr/lib/python2.7/xml/parsers/expat.py", line 4, in
from pyexpat import *
ImportError: /usr/lib/python2.7/lib-dynload/pyexpat.x86_64-linux-gnu.so: undefined symbol: XML_SetHashSalt
ソフトエアーセンターが起動しない問題は、oracle 用に .profile にLD_LIBRARY_PATH を設定したのが原因だったよう。パスに以下を追加するとソフトエアセンターが無事起動した。
LD_LIBRARY_PATH=lib/x86_64-linux-gnu:$ORACLE_HOME/lib
デフォルトでは LD_LIBRARY_PATH は特に何も設定されていないので、別のデフォルト設定があるのだろう。というわけで検索してみる /etc/ld.so.conf に定義されているらしい。
% sudo echo "oracleのパス" > /etc/ld.so.conf.d/oracle11g.conf
% ldconfig