* PyXMLでのundefined symbolエラー [#a0c9fba1]
 最近ではどの程度使われているか分かりませんが、Python 2.4環境下でのエラーです。~
 Python 2.4 + Vine 4.2の環境で発生しました。
 
 ** undefined symbol [#c8712e51]
 minidom.parseとかxml.parsers.expatを使用したときに発生しました。
  File "/usr/lib/python2.4/site-packages/_xmlplus/dom/minidom.py", line 1914, in parse
  File "/usr/lib/python2.4/site-packages/_xmlplus/dom/expatbuilder.py", line 32, in ?
  File "/usr/lib/python2.4/site-packages/_xmlplus/parsers/expat.py", line 4, in ?
  ImportError: /usr/lib/python2.4/site-packages/_xmlplus/parsers/pyexpat.so: undefined symbol: XML_StopParser
 pyexpat.soでXML_StopParserが見つからないというエラーです。状況によっては他のシンボルかもしれません。
 
 ** 原因 [#z59286f0]
 原因はリンクされているlibexpatが古いという所にありそうです。そのため、Vine 4.2並みに古いディストリビューションじゃないと起こらないと思います。~
 Vine 4.2で使用されているexpatは1.95.8と古いため、問題が発生します。
 
 ** 解決方法 [#c51d8eeb]
 libexpatを最新版(2.0.1)に変更すれば解消します。~
 ただし、Vine 4.2では依存関係の問題で単純にlibexpatを入れ替えることができません。そのため、問題を解決するにはPyXMLを再ビルドする必要があります。
 ただし、Vine 4.2では依存関係の問題で単純にlibexpatを入れ替えることができません。そこで、問題を解決するためPyXMLをlibexpatを静的リンクで再ビルドしました。
 
 *** python-pyxmlをアンインストール [#u1227e72]
 aptでpython-pyxmlをアンインストールします。
  # apt-get remove python-pyxml
 
 *** expat-2.0.1のインストール [#wca632c6]
 expatの[[ページ>http://sourceforge.net/projects/expat/]]からexpat-2.0.1.tar.gzをダウンロードし、ビルドします。
  % tar zxvf expat-2.0.1.tar.gz
  % cd expat-2.0.1
  % ./configure --prefix=/opt/expat-2.0.1 --enable-shared=no  <-- 共有ライブラリを作成しない
  % make
  # make install
 
 *** PyXMLのインストール [#e8ffa047]
 PyXMLの[[ページ>http://pypi.python.org/pypi/PyXML/0.8.4]]からPyXML-0.8.4.tar.gzをダウンロードします。
 expatをインストールしたら、スタティックリンクでPyXMLをビルドします。上で共有ライブラリを作成していないので強制的にスタティックリンクされます。共有ライブラリを作成しているとそれが使われてしまうので、削除するかどこかに移動しておく必要があります。
  % tar zxvf PyXML-0.8.4.tar.gz
  % cd PyXML-0.8.4
  % python setup.py build --with-libexpat=/opt/expat-2.0.1
  # python setup.py install
 以上でexpat-2.0.1を使用したPyXMLがインストールされました。