web-dev-qa-db-ja.com

12.04から14.04にアップグレードした後のlibxml2の問題の原因

12.04 64ビットLTSをubuntu 14.04 64ビットLTSにアップグレードすると、libxml2で問題が発生します。

ソフトウェアセンター、共感などを実行できません

# software-center
 Traceback (most recent call last):
  File "/usr/bin/software-center", line 128, in <module>
   from softwarecenter.ui.gtk3.app import SoftwareCenterAppGtk3
  File "/usr/share/software-center/softwarecenter/ui/gtk3/app.py", line 106, in <module>
   from softwarecenter.ui.gtk3.panes.installedpane import InstalledPane
  File "/usr/share/software-center/softwarecenter/ui/gtk3/panes/installedpane.py", line 34, in <module>
   from softwarecenter.db.categories import (CategoriesParser,
  File "/usr/share/software-center/softwarecenter/db/categories.py", line 30, in <module>
   import lxml.etree as ET
ImportError: /usr/local/lib/libxml2.so.2: version `LIBXML2_2.9.0' not found (required by /usr/lib/python2.7/dist-packages/lxml/etree.so)

または

# empathy
empathy: /usr/local/lib/libxml2.so.2: version `LIBXML2_2.9.0' not found (required by /usr/lib/x86_64-linux-gnu/libxslt.so.1)

した

# locate libxml2.so
/opt/openoffice4/program/libxml2.so.2
/usr/lib/i386-linux-gnu/libxml2.so.2
/usr/lib/i386-linux-gnu/libxml2.so.2.9.1
/usr/lib/vmware-installer/2.1.0/lib/lib/libxml2.so.2
/usr/lib/vmware-installer/2.1.0/lib/lib/libxml2.so.2/libxml2.so.2
/usr/lib/vmware-vmrc/5.1/lib/libxml2.so.2
/usr/lib/vmware-vmrc/5.1/lib/libxml2.so.2/libxml2.so.2
/usr/lib/x86_64-linux-gnu/libxml2.so
/usr/lib/x86_64-linux-gnu/libxml2.so.2
/usr/lib/x86_64-linux-gnu/libxml2.so.2.9.1
/usr/local/lib/libxml2.so
/usr/local/lib/libxml2.so.2
/usr/local/lib/libxml2.so.2.8.0

または

# Sudo dpkg --list | grep libxml2
ii  libxml-libxml-Perl       2.0108+dfsg-1                                       
ii  libxml2:AMD64            2.9.1+dfsg1-3ubuntu4.3                              
ii  libxml2:i386             2.9.1+dfsg1-3ubuntu4.3
ii  libxml2-dev:AMD64        2.9.1+dfsg1-3ubuntu4.3
ii  python-libxml2           2.9.1+dfsg1-3ubuntu4.3        
ii  python-lxml              3.3.3-1ubuntu0.1                                    
ii  python3-lxml             3.3.3-1ubuntu0.1

または

Sudo apt-get install --reinstall libxml-libxml-Perl

Warning: program compiled against libxml 209 using older 208
Warning: XML::LibXML compiled against libxml2 20901, but runtime libxml2 is older 20800
update-Perl-sax-parsers: Registering Perl SAX parser XML::LibXML::SAX with priority 50...
Warning: program compiled against libxml 209 using older 208
Warning: XML::LibXML compiled against libxml2 20901, but runtime libxml2 is older 20800
update-Perl-sax-parsers: Updating overall Perl SAX parser modules info file...
Replacing config file /etc/Perl/XML/SAX/ParserDetails.ini with new version
2
Curl User

Debian squeezeをjessieにアップグレードしてから、さらに不安定にした後も同じ問題が発生しました。問題は、local folder /usr/local/libに古いバージョンのlibxml2ライブラリがあることです。

パッケージマネージャーによって/usr/lib/x86_64-linux-gnu/に正しいバージョンがインストールされている可能性がありますが、ローカルフォルダー内のライブラリの優先順位が高く、最終的にはロードされます。

私の仮定がすべて正しい場合、ルートで次を実行することで解決できるはずです。

# mv /usr/local/lib/libxml2* /

その後、共感または問題が発生していた他のアプリケーションを実行してみてください。すべてが正常に機能する場合は、次を実行して未使用の古いライブラリを削除できます。

# rm -f /libxml2*
3
thegeko