pemsley / coot

Software for macromolecular model-building
http://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/
GNU General Public License v3.0
114 stars 45 forks source link

Broken GUI - importing Gi, GObject not found #129

Closed stachowskitim closed 2 months ago

stachowskitim commented 2 months ago

This happens when trying to load extensions, like ProSMART, or fetching a PDB/MTZ using the Fetch from EDS tool.

version HEAD-44084cf on MacOS M1 Sonoma...

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/homebrew/Cellar/coot/HEAD-44084cf/lib/python3.12/site-packages/coot/gui_prosmart.py", line 22, in <module>
    from gi.repository import Gtk, GObject
  File "/opt/homebrew/Cellar/python@3.12/3.12.2_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/gi/importer.py", line 141, in create_module
    raise ImportError(e)
ImportError: Typelib file for namespace 'GObject', version '2.0' not found
debug:: safe_python_command() PyRun_SimpleString() gui_prosmart.add_module_restraints()
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'gui_prosmart' is not defined
pemsley commented 2 months ago

To get going perhaps you could comment out line 36:

36 import gui_prosmart from extensions.py

stachowskitim commented 2 months ago

This is after compiling? If so (now version 1c2f3bd):

debug:: safe_python_command() PyRun_SimpleString() import gui_prosmart
Traceback (most recent call last):
  File "/opt/homebrew/Cellar/python@3.12/3.12.2_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/gi/importer.py", line 139, in create_module
    introspection_module = get_introspection_module(namespace)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.12/3.12.2_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/gi/module.py", line 263, in get_introspection_module
    module = IntrospectionModule(namespace, version)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.12/3.12.2_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/gi/module.py", line 110, in __init__
    repository.require(namespace, version)
gi.RepositoryError: Typelib file for namespace 'GObject', version '2.0' not found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/homebrew/Cellar/coot/HEAD-1c2f3bd/lib/python3.12/site-packages/coot/gui_prosmart.py", line 22, in <module>
    from gi.repository import Gtk, GObject
  File "/opt/homebrew/Cellar/python@3.12/3.12.2_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/gi/importer.py", line 141, in create_module
    raise ImportError(e)
ImportError: Typelib file for namespace 'GObject', version '2.0' not found
debug:: safe_python_command() PyRun_SimpleString() gui_prosmart.add_module_prosmart()
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'gui_prosmart' is not defined
stachowskitim commented 2 months ago

Sorry I was able to solve this with brew link glib - not sure where things went wrong.