I was testing the CentOS 9 singularity build and ChimeraX gives tracebacks on startup due to Qt not being available/loadable. I believe this is because the base OS is CentOS 7. Ideally, there wouldn't any Qt stuff imported in nogui mode, if only to speed up startup.
Singularity> ChimeraX.app/bin/ChimeraX --nogui
Traceback (most recent call last):
File "/tmp/gregc-chimerax/ChimeraX.app/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 490, in get_module
m = importlib.import_module(self.package_name)
File "/tmp/gregc-chimerax/ChimeraX.app/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/tmp/gregc-chimerax/ChimeraX.app/lib/python3.9/site-packages/chimerax/save_command/__init__.py", line 101, in <module>
from .options import SaveModelOptionWidget
File "/tmp/gregc-chimerax/ChimeraX.app/lib/python3.9/site-packages/chimerax/save_command/options.py", line 14, in <module>
from Qt.QtWidgets import QFrame, QHBoxLayout, QLabel
File "/tmp/gregc-chimerax/ChimeraX.app/lib/python3.9/site-packages/Qt/__init__.py", line 64, in <module>
from PyQt6.QtCore import PYQT_VERSION_STR as PYQT6_VERSION
ImportError: libQt6Core.so.6: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tmp/gregc-chimerax/ChimeraX.app/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 375, in init_manager
api = self._get_api(session.logger)
File "/tmp/gregc-chimerax/ChimeraX.app/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 509, in _get_api
m = self.get_module()
File "/tmp/gregc-chimerax/ChimeraX.app/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 492, in get_module
raise ToolshedError("Error importing bundle %s's module: %s" % (self.name, str(e)))
chimerax.core.toolshed.ToolshedError: Error importing bundle ChimeraX-SaveCommand's module: libQt6Core.so.6: cannot open shared object file: No such file or directory
Traceback (most recent call last):
File "/tmp/gregc-chimerax/ChimeraX.app/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 365, in initialize
api._api_caller.initialize(api, session, self)
File "/tmp/gregc-chimerax/ChimeraX.app/lib/python3.9/site-packages/chimerax/core/toolshed/__init__.py", line 1278, in initialize
return cls._get_func(api, "initialize")(session, bi)
File "/tmp/gregc-chimerax/ChimeraX.app/lib/python3.9/site-packages/chimerax/bug_reporter/__init__.py", line 29, in initialize
crash_report.register_signal_handler(session)
File "/tmp/gregc-chimerax/ChimeraX.app/lib/python3.9/site-packages/chimerax/bug_reporter/crash_report.py", line 73, in register_signal_handler
session.ui.set_fatal_error_log_file(_fault_handler_file)
AttributeError: 'UI' object has no attribute 'set_fatal_error_log_file'
Bundle 'ChimeraX-SaveCommand' custom initialization failed
Bundle 'ChimeraX-BugReporter' custom initialization failed
UCSF ChimeraX version: 1.5.dev202205281901 (2022-05-28)
© 2016-2022 Regents of the University of California. All rights reserved.
cmd>
I updated Segger to import SaveModelOptionWidget from save_command.widgets to complete the fix that Eric did.