You are not logged in.

#1 2016-07-07 11:32:25

Amphitryon
Member
Registered: 2013-09-20
Posts: 39

gnome-tweak-tool, python undefined symbol: XML_SetHashSalt

I tried running gnome-tweak-tool today and got a barrage of error messages:

CRITICAL: Error parsing schema org.gnome.shell (/usr/share/glib-2.0/schemas/org.gnome.shell.gschema.xml)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/gtweak/gsettings.py", line 50, in __init__
    dom = xml.dom.minidom.parse(schema_path)
  File "/usr/lib/python2.7/xml/dom/minidom.py", line 1917, in parse
    from xml.dom import expatbuilder
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 32, in <module>
    from xml.parsers import expat
  File "/usr/lib/python2.7/xml/parsers/expat.py", line 4, in <module>
    from pyexpat import *
ImportError: /usr/lib/python2.7/lib-dynload/pyexpat.so: undefined symbol: XML_SetHashSalt
CRITICAL: Error parsing schema org.gnome.shell.overrides (/usr/share/glib-2.0/schemas/org.gnome.shell.gschema.xml)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/gtweak/gsettings.py", line 50, in __init__
    dom = xml.dom.minidom.parse(schema_path)
  File "/usr/lib/python2.7/xml/dom/minidom.py", line 1917, in parse
    from xml.dom import expatbuilder
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 32, in <module>
    from xml.parsers import expat
  File "/usr/lib/python2.7/xml/parsers/expat.py", line 4, in <module>
    from pyexpat import *
ImportError: /usr/lib/python2.7/lib-dynload/pyexpat.so: undefined symbol: XML_SetHashSalt
CRITICAL: Error parsing schema org.gnome.desktop.background (/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.xml)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/gtweak/gsettings.py", line 50, in __init__
    dom = xml.dom.minidom.parse(schema_path)
  File "/usr/lib/python2.7/xml/dom/minidom.py", line 1917, in parse
    from xml.dom import expatbuilder
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 32, in <module>
    from xml.parsers import expat
  File "/usr/lib/python2.7/xml/parsers/expat.py", line 4, in <module>
    from pyexpat import *
ImportError: /usr/lib/python2.7/lib-dynload/pyexpat.so: undefined symbol: XML_SetHashSalt
CRITICAL: Error parsing schema org.gnome.nautilus.desktop (/usr/share/glib-2.0/schemas/org.gnome.nautilus.gschema.xml)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/gtweak/gsettings.py", line 50, in __init__
    dom = xml.dom.minidom.parse(schema_path)
  File "/usr/lib/python2.7/xml/dom/minidom.py", line 1917, in parse
    from xml.dom import expatbuilder
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 32, in <module>
    from xml.parsers import expat
  File "/usr/lib/python2.7/xml/parsers/expat.py", line 4, in <module>
    from pyexpat import *
ImportError: /usr/lib/python2.7/lib-dynload/pyexpat.so: undefined symbol: XML_SetHashSalt
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/gtweak/app.py", line 39, in do_activate
    self.win = Window(self, model)
  File "/usr/lib/python2.7/site-packages/gtweak/tweakview.py", line 58, in __init__
    self._model.load_tweaks(self)
  File "/usr/lib/python2.7/site-packages/gtweak/tweakmodel.py", line 125, in load_tweaks
    mods = __import__("gtweak.tweaks", globals(), locals(), tweak_files, 0)
  File "/usr/lib/python2.7/site-packages/gtweak/tweaks/tweak_group_desktop.py", line 27, in <module>
    GSettingsCheckTweak(_("Computer"),"org.gnome.nautilus.desktop", "computer-icon-visible", depends_on=dicons, schema_filename="org.gnome.nautilus.gschema.xml"),
  File "/usr/lib/python2.7/site-packages/gtweak/widgets.py", line 267, in __init__
    options.get("depends_how")
  File "/usr/lib/python2.7/site-packages/gtweak/widgets.py", line 203, in add_dependency_on_tweak
    self.set_sensitive(sensitive)
TypeError: Argument 1 does not allow None as a value

I am not an expert at interpreting that but it looks to me like it is failing to parse various XML files because it is unable to initialise the XML parser because of the import error, i.e. if I can solve "ImportError: /usr/lib/python2.7/lib-dynload/pyexpat.so: undefined symbol: XML_SetHashSalt" it should start working again.

I Googled for a solution and found that some Debian users had a similar problem a few years ago when Python and Expat versions were mismatched and the solution was roll back the version of python or get, and compile, a later version of expat.  I did try rolling back python to the previous version in /var/cache/pacman/pkg/ but that didn't solve the problem.  Thinking it could be a mis-match either way I also tried the previous version of expat but that didnb't solve it either.  Any tips, please?

Here are the versions concerned:

python2-2.7.12-1-x86_64.pkg.tar.xz (current)
python2-2.7.11-3-x86_64.pkg.tar.xz (previous)

expat-2.2.0-2-x86_64.pkg.tar.xz (current)]
expat-2.2.0-1-x86_64.pkg.tar.xz (previous)

Offline

Board footer

Powered by FluxBB