Is there an issue with Linux builds currently?

Hello,

There are no Linux builds for Slicer preview and no extensions since a few days.

Slicer clean-built today (e1881207) on Arch runs (--ignore-slicerrc) suspiciously with the following in stdout:

QFont::fromString: Invalid description 'Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1'
Traceback (most recent call last):
  File "<string>", line 5, in <module>
  File "<string>", line 212, in <module>
  File "<string>", line 177, in __init__
AttributeError: module 'qt' has no attribute 'QTimer'
Traceback (most recent call last):
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/CropVolumeSequence.py", line 24, in __init__
    ScriptedLoadableModule.__init__(self, parent)
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/ScriptedLoadableModule.py", line 41, in __init__
    parent.icon = qt.QIcon(iconPath)
                  ^^^^^^^^
AttributeError: module 'qt' has no attribute 'QIcon'
qSlicerPythonCppAPI::instantiateClass  - [ "CropVolumeSequence" ] - Failed to instantiate scripted pythonqt class "CropVolumeSequence" 0x55a11b00b450
Fail to instantiate module  "CropVolumeSequence"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOM.py", line 12, in <module>
    import DICOMLib
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/__init__.py", line 1, in <module>
    from .DICOMProcesses import *
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 39, in <module>
    class DICOMProcess:
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 85, in DICOMProcess
    def start(self, cmd: str, args: list[str]) -> qt.QProcess:
                                                  ^^^^^^^^^^^
AttributeError: module 'qt' has no attribute 'QProcess'
loadSourceAsModule - Failed to load file "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOM.py"  as module "DICOM" !
Fail to instantiate module  "DICOM"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOMEnhancedUSVolumePlugin.py", line 5, in <module>
    from DICOMLib import DICOMPlugin
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/__init__.py", line 1, in <module>
    from .DICOMProcesses import *
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 39, in <module>
    class DICOMProcess:
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 85, in DICOMProcess
    def start(self, cmd: str, args: list[str]) -> qt.QProcess:
                                                  ^^^^^^^^^^^
AttributeError: module 'qt' has no attribute 'QProcess'
loadSourceAsModule - Failed to load file "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOMEnhancedUSVolumePlugin.py"  as module "DICOMEnhancedUSVolumePlugin" !
Fail to instantiate module  "DICOMEnhancedUSVolumePlugin"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOMGeAbusPlugin.py", line 11, in <module>
    from DICOMLib import DICOMPlugin
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/__init__.py", line 1, in <module>
    from .DICOMProcesses import *
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 39, in <module>
    class DICOMProcess:
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 85, in DICOMProcess
    def start(self, cmd: str, args: list[str]) -> qt.QProcess:
                                                  ^^^^^^^^^^^
AttributeError: module 'qt' has no attribute 'QProcess'
loadSourceAsModule - Failed to load file "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOMGeAbusPlugin.py"  as module "DICOMGeAbusPlugin" !
Fail to instantiate module  "DICOMGeAbusPlugin"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOMImageSequencePlugin.py", line 9, in <module>
    from DICOMLib import DICOMPlugin
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/__init__.py", line 1, in <module>
    from .DICOMProcesses import *
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 39, in <module>
    class DICOMProcess:
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 85, in DICOMProcess
    def start(self, cmd: str, args: list[str]) -> qt.QProcess:
                                                  ^^^^^^^^^^^
AttributeError: module 'qt' has no attribute 'QProcess'
loadSourceAsModule - Failed to load file "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOMImageSequencePlugin.py"  as module "DICOMImageSequencePlugin" !
Fail to instantiate module  "DICOMImageSequencePlugin"
Traceback (most recent call last):
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOMPatcher.py", line 24, in __init__
    ScriptedLoadableModule.__init__(self, parent)
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/ScriptedLoadableModule.py", line 41, in __init__
    parent.icon = qt.QIcon(iconPath)
                  ^^^^^^^^
AttributeError: module 'qt' has no attribute 'QIcon'
qSlicerPythonCppAPI::instantiateClass  - [ "DICOMPatcher" ] - Failed to instantiate scripted pythonqt class "DICOMPatcher" 0x55a11b0223f0
Fail to instantiate module  "DICOMPatcher"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOMScalarVolumePlugin.py", line 13, in <module>
    from DICOMLib import DICOMPlugin
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/__init__.py", line 1, in <module>
    from .DICOMProcesses import *
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 39, in <module>
    class DICOMProcess:
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 85, in DICOMProcess
    def start(self, cmd: str, args: list[str]) -> qt.QProcess:
                                                  ^^^^^^^^^^^
AttributeError: module 'qt' has no attribute 'QProcess'
loadSourceAsModule - Failed to load file "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOMScalarVolumePlugin.py"  as module "DICOMScalarVolumePlugin" !
Fail to instantiate module  "DICOMScalarVolumePlugin"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOMSlicerDataBundlePlugin.py", line 8, in <module>
    from DICOMLib import DICOMPlugin
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/__init__.py", line 1, in <module>
    from .DICOMProcesses import *
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 39, in <module>
    class DICOMProcess:
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 85, in DICOMProcess
    def start(self, cmd: str, args: list[str]) -> qt.QProcess:
                                                  ^^^^^^^^^^^
AttributeError: module 'qt' has no attribute 'QProcess'
loadSourceAsModule - Failed to load file "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOMSlicerDataBundlePlugin.py"  as module "DICOMSlicerDataBundlePlugin" !
Fail to instantiate module  "DICOMSlicerDataBundlePlugin"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOMVolumeSequencePlugin.py", line 9, in <module>
    from DICOMLib import DICOMPlugin
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/__init__.py", line 1, in <module>
    from .DICOMProcesses import *
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 39, in <module>
    class DICOMProcess:
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 85, in DICOMProcess
    def start(self, cmd: str, args: list[str]) -> qt.QProcess:
                                                  ^^^^^^^^^^^
AttributeError: module 'qt' has no attribute 'QProcess'
loadSourceAsModule - Failed to load file "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DICOMVolumeSequencePlugin.py"  as module "DICOMVolumeSequencePlugin" !
Fail to instantiate module  "DICOMVolumeSequencePlugin"
Traceback (most recent call last):
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/DataProbe.py", line 41, in __init__
    if not slicer.app.commandOptions().noMainWindow:
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: qSlicerCommandOptions has no attribute named 'noMainWindow'
qSlicerPythonCppAPI::instantiateClass  - [ "DataProbe" ] - Failed to instantiate scripted pythonqt class "DataProbe" 0x55a11b63dc60
Fail to instantiate module  "DataProbe"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/ExtensionWizard.py", line 14, in <module>
    from ExtensionWizardLib import *
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/ExtensionWizardLib/__init__.py", line 4, in <module>
    from .DirectoryListWidget import DirectoryListWidget
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/ExtensionWizardLib/DirectoryListWidget.py", line 36, in <module>
    class DirectoryListWidget(qt.QWidget):
                              ^^^^^^^^^^
AttributeError: module 'qt' has no attribute 'QWidget'
loadSourceAsModule - Failed to load file "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/ExtensionWizard.py"  as module "ExtensionWizard" !
Fail to instantiate module  "ExtensionWizard"
Traceback (most recent call last):
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/LandmarkRegistration.py", line 14, in __init__
    ScriptedLoadableModule.__init__(self, parent)
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/ScriptedLoadableModule.py", line 41, in __init__
    parent.icon = qt.QIcon(iconPath)
                  ^^^^^^^^
AttributeError: module 'qt' has no attribute 'QIcon'
qSlicerPythonCppAPI::instantiateClass  - [ "LandmarkRegistration" ] - Failed to instantiate scripted pythonqt class "LandmarkRegistration" 0x55a11b79e340
Fail to instantiate module  "LandmarkRegistration"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/MultiVolumeImporterPlugin.py", line 5, in <module>
    import DICOMLib
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/__init__.py", line 1, in <module>
    from .DICOMProcesses import *
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 39, in <module>
    class DICOMProcess:
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/DICOMLib/DICOMProcesses.py", line 85, in DICOMProcess
    def start(self, cmd: str, args: list[str]) -> qt.QProcess:
                                                  ^^^^^^^^^^^
AttributeError: module 'qt' has no attribute 'QProcess'
loadSourceAsModule - Failed to load file "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/MultiVolumeImporterPlugin.py"  as module "MultiVolumeImporterPlugin" !
Fail to instantiate module  "MultiVolumeImporterPlugin"
Traceback (most recent call last):
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/SampleData.py", line 102, in __init__
    if not slicer.app.commandOptions().noMainWindow:
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: qSlicerCommandOptions has no attribute named 'noMainWindow'
qSlicerPythonCppAPI::instantiateClass  - [ "SampleData" ] - Failed to instantiate scripted pythonqt class "SampleData" 0x55a11b8fa740
Fail to instantiate module  "SampleData"
Traceback (most recent call last):
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/ScreenCapture.py", line 25, in __init__
    ScriptedLoadableModule.__init__(self, parent)
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/ScriptedLoadableModule.py", line 41, in __init__
    parent.icon = qt.QIcon(iconPath)
                  ^^^^^^^^
AttributeError: module 'qt' has no attribute 'QIcon'
qSlicerPythonCppAPI::instantiateClass  - [ "ScreenCapture" ] - Failed to instantiate scripted pythonqt class "ScreenCapture" 0x55a11b891f80
Fail to instantiate module  "ScreenCapture"
Traceback (most recent call last):
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/SegmentEditor.py", line 13, in __init__
    ScriptedLoadableModule.__init__(self, parent)
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/ScriptedLoadableModule.py", line 41, in __init__
    parent.icon = qt.QIcon(iconPath)
                  ^^^^^^^^
AttributeError: module 'qt' has no attribute 'QIcon'
qSlicerPythonCppAPI::instantiateClass  - [ "SegmentEditor" ] - Failed to instantiate scripted pythonqt class "SegmentEditor" 0x55a11b925d60
Fail to instantiate module  "SegmentEditor"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/SegmentStatistics.py", line 281, in <module>
    class SegmentStatisticsParameterEditorDialog(qt.QDialog):
                                                 ^^^^^^^^^^
AttributeError: module 'qt' has no attribute 'QDialog'
loadSourceAsModule - Failed to load file "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/SegmentStatistics.py"  as module "SegmentStatistics" !
Fail to instantiate module  "SegmentStatistics"
Traceback (most recent call last):
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/SimpleFilters.py", line 69, in __init__
    parent.icon = qt.QIcon("%s/ITK.png" % self.ICON_DIR)
                  ^^^^^^^^
AttributeError: module 'qt' has no attribute 'QIcon'
qSlicerPythonCppAPI::instantiateClass  - [ "SimpleFilters" ] - Failed to instantiate scripted pythonqt class "SimpleFilters" 0x55a11b97fdc0
Fail to instantiate module  "SimpleFilters"
Traceback (most recent call last):
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/SurfaceToolbox.py", line 18, in __init__
    ScriptedLoadableModule.__init__(self, parent)
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/ScriptedLoadableModule.py", line 41, in __init__
    parent.icon = qt.QIcon(iconPath)
                  ^^^^^^^^
AttributeError: module 'qt' has no attribute 'QIcon'
qSlicerPythonCppAPI::instantiateClass  - [ "SurfaceToolbox" ] - Failed to instantiate scripted pythonqt class "SurfaceToolbox" 0x55a11b9b86c0
Fail to instantiate module  "SurfaceToolbox"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/VectorToScalarVolume.py", line 12, in <module>
    from slicer.parameterNodeWrapper import parameterNodeWrapper
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/parameterNodeWrapper/__init__.py", line 6, in <module>
    from .guiConnectors import *
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/parameterNodeWrapper/guiConnectors.py", line 19, in <module>
    from . import parameterPack as pack
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/parameterNodeWrapper/parameterPack.py", line 11, in <module>
    from .serializers import (
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/parameterNodeWrapper/serializers.py", line 424, in <module>
    class QColorSerializer(Serializer):
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/parameterNodeWrapper/serializers.py", line 444, in QColorSerializer
    def write(self, parameterNode, name: str, value : qt.QColor) -> None:
                                                      ^^^^^^^^^
AttributeError: module 'qt' has no attribute 'QColor'
loadSourceAsModule - Failed to load file "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/VectorToScalarVolume.py"  as module "VectorToScalarVolume" !
Fail to instantiate module  "VectorToScalarVolume"
Traceback (most recent call last):
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/../lib/Slicer-5.9/qt-scripted-modules/WebServer.py", line 30, in __init__
    ScriptedLoadableModule.__init__(self, parent)
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/ScriptedLoadableModule.py", line 41, in __init__
    parent.icon = qt.QIcon(iconPath)
                  ^^^^^^^^
AttributeError: module 'qt' has no attribute 'QIcon'
qSlicerPythonCppAPI::instantiateClass  - [ "WebServer" ] - Failed to instantiate scripted pythonqt class "WebServer" 0x55a11ba5e7c0
Fail to instantiate module  "WebServer"
The following modules failed to be instantiated:
   DICOMEnhancedUSVolumePlugin
   SampleData
   DICOMVolumeSequencePlugin
   DICOMSlicerDataBundlePlugin
   SurfaceToolbox
   CropVolumeSequence
   DICOM
   WebServer
   SegmentEditor
   ScreenCapture
   ExtensionWizard
   LandmarkRegistration
   SimpleFilters
   VectorToScalarVolume
   MultiVolumeImporterPlugin
   SegmentStatistics
   DICOMGeAbusPlugin
   DICOMScalarVolumePlugin
   DataProbe
   DICOMImageSequencePlugin
   DICOMPatcher
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/SubjectHierarchyLib/__init__.py", line 3, in <module>
    from . import parameterNodeWrapper  # Required to ensure parameterNodeWrapper plugins are registered
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/SubjectHierarchyLib/parameterNodeWrapper/__init__.py", line 3, in <module>
    from .guiConnectors import *
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/SubjectHierarchyLib/parameterNodeWrapper/guiConnectors.py", line 2, in <module>
    from slicer.parameterNodeWrapper import (
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/parameterNodeWrapper/__init__.py", line 6, in <module>
    from .guiConnectors import *
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/parameterNodeWrapper/guiConnectors.py", line 19, in <module>
    from . import parameterPack as pack
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/parameterNodeWrapper/parameterPack.py", line 11, in <module>
    from .serializers import (
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/parameterNodeWrapper/serializers.py", line 424, in <module>
    class QColorSerializer(Serializer):
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/bin/Python/slicer/parameterNodeWrapper/serializers.py", line 444, in QColorSerializer
    def write(self, parameterNode, name: str, value : qt.QColor) -> None:
                                                      ^^^^^^^^^
AttributeError: module 'qt' has no attribute 'QColor'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/SegmentEditorEffects/__init__.py", line 16, in <module>
    from .SegmentEditorThresholdEffect import *
  File "/opt/programs/Slicer-5.9.0-2025-07-16-linux-amd64/lib/Slicer-5.9/qt-scripted-modules/SegmentEditorEffects/SegmentEditorThresholdEffect.py", line 995, in <module>
    class HistogramEventFilter(qt.QObject):
                               ^^^^^^^^^^
AttributeError: module 'qt' has no attribute 'QObject'
Switch to module:  "Volumes"
Wayland does not support QWindow::requestActivate()
Switch to module:  ""
Switch to module:  ""

It’s not usable obviously.

Are there know issues for Linux builds? May we expect ‘business as usual’ soon?

Thank you.

See the following details below. It appears there may be an issue specific to Linux builds that is not being observed for Windows or macOS builds.

Thanks for the link. After reverting the referenced commit, Slicer builds and runs fine.

(There’s a new issue regarding VMTK and ITK, that’s another headache.)

Thanks for your patience :folded_hands:

A pull request fixing the python initialization has just been published :rocket:

See PR#8582


Fixes regression introduced in:

  • 7a26aa1 (“ENH: Update Python initialization for compatibility with isolated mode”)
  • 3bace0b (“ENH: Update Python initialization to use PyConfig API”)

These changes inadvertently introduced multiple and inconsistent Python initializations by removing the use of deprecated symbols (PySys_SetArgvEx, Py_NoUserSiteDirectory) without fully replicating their intended behavior. As a result, over 100 tests failed (e.g., AttributeError: module 'qt' has no attribute 'QTimer' on Ubuntu) due to Python being initialized both too late and with conflicting settings.

This commit restores correct initialization behavior by:

  1. Initializing Python early in qSlicerCorePythonManager using the PyConfig API. Rather than explicitly setting config.isolated = 0, this relies on the default (non-isolated) mode established by Py_InitializeFromConfig, which ensures that environment variables and site directories are respected. Early initialization ensures Python is ready before QApplication starts.
  2. Preventing re-initialization by PythonQt by setting the PythonAlreadyInitialized flag. The previously required clearing of the IgnoreSiteModule flag is no longer necessary, as PythonQt no longer manages initialization.
  3. Moving argument population (PyConfig_SetArgv) and interpreter config update (_PyInterpreterState_SetConfig) into qSlicerCoreApplication::handleCommandLineArguments() to occur after command-line arguments are fully known.

This approach ensures consistent interpreter state across embedded Python and PythonQt integration, and aligns with the best practices of the PyConfig API.

Do you have more details about this ?

Also, I suggest you base your build on the linked pull request that should be integrated into main shortly.

For reference, here is the corresponding VMTK issue:

Thank you for considering both issues. My last build at 407906c367 does not yet include PR 8582.

I’ll keep you updated tomorrow.

Regards.

Unfortunately, Slicer does not start with a usable result when built at 533859698. The VMTK issue (related or not) persists.

Here is a trimmed stdout (too long for the editor) with --ignore-slicerrc from the build tree:

QFont::fromString: Invalid description 'Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1'
Traceback (most recent call last):
  File "<string>", line 5, in <module>
  File "<string>", line 12, in <module>
  File "/home/arc/src/Slicer-SuperBuild9/Slicer-build/bin/Python/slicer/__init__.py", line 218, in <module>
    import scipy.linalg  # noqa: F401
    ^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/linalg/__init__.py", line 205, in <module>
    from ._basic import *
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/linalg/_basic.py", line 13, in <module>
    from ._decomp import _asarray_validated
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/linalg/_decomp.py", line 26, in <module>
    from scipy._lib._util import _asarray_validated
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/_lib/_util.py", line 18, in <module>
    from scipy._lib._array_api import array_namespace
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/_lib/_array_api.py", line 17, in <module>
    from scipy._lib.array_api_compat import (
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/_lib/array_api_compat/numpy/__init__.py", line 1, in <module>
    from numpy import *
  File "<frozen importlib._bootstrap>", line 1410, in _handle_fromlist
  File "<frozen importlib._bootstrap>", line 1412, in _handle_fromlist
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/numpy/__init__.py", line 352, in __getattr__
    import numpy.testing as testing
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/numpy/testing/__init__.py", line 11, in <module>
    from ._private.utils import *
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/numpy/testing/_private/utils.py", line 1393, in <module>
    _SUPPORTS_SVE = check_support_sve()
                    ^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/numpy/testing/_private/utils.py", line 1387, in check_support_sve
    output = subprocess.run(cmd, capture_output=True, text=True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/subprocess.py", line 550, in run
    stdout, stderr = process.communicate(input, timeout=timeout)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/subprocess.py", line 1209, in communicate
    stdout, stderr = self._communicate(input, endtime, timeout)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/subprocess.py", line 2153, in _communicate
    stdout = self._translate_newlines(stdout,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/subprocess.py", line 1086, in _translate_newlines
    data = data.decode(encoding, errors)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 12: ordinal not in range(128)
decoding with 'ANSI_X3.4-1968' codec failed
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'getSlicerRCFileName' is not defined
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/arc/src/Slicer-SuperBuild9/Slicer-build/bin/Python/slicer/__init__.py", line 218, in <module>
    import scipy.linalg  # noqa: F401
    ^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/linalg/__init__.py", line 205, in <module>
    from ._basic import *
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/linalg/_basic.py", line 13, in <module>
    from ._decomp import _asarray_validated
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/linalg/_decomp.py", line 26, in <module>
    from scipy._lib._util import _asarray_validated
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/_lib/_util.py", line 18, in <module>
    from scipy._lib._array_api import array_namespace
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/_lib/_array_api.py", line 17, in <module>
    from scipy._lib.array_api_compat import (
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/_lib/array_api_compat/numpy/__init__.py", line 1, in <module>
    from numpy import *
  File "<frozen importlib._bootstrap>", line 1410, in _handle_fromlist
  File "<frozen importlib._bootstrap>", line 1412, in _handle_fromlist
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/numpy/__init__.py", line 352, in __getattr__
    import numpy.testing as testing
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/numpy/testing/__init__.py", line 11, in <module>
    from ._private.utils import *
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/numpy/testing/_private/utils.py", line 1393, in <module>
    _SUPPORTS_SVE = check_support_sve()
                    ^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/numpy/testing/_private/utils.py", line 1387, in check_support_sve
    output = subprocess.run(cmd, capture_output=True, text=True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/subprocess.py", line 550, in run
    stdout, stderr = process.communicate(input, timeout=timeout)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/subprocess.py", line 1209, in communicate
    stdout, stderr = self._communicate(input, endtime, timeout)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/subprocess.py", line 2153, in _communicate
    stdout = self._translate_newlines(stdout,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/subprocess.py", line 1086, in _translate_newlines
    data = data.decode(encoding, errors)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 12: ordinal not in range(128)
decoding with 'ANSI_X3.4-1968' codec failed
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/arc/src/Slicer-SuperBuild9/Slicer-build/bin/Python/slicer/__init__.py", line 218, in <module>
    import scipy.linalg  # noqa: F401
    ^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/linalg/__init__.py", line 205, in <module>
    from ._basic import *
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/linalg/_basic.py", line 13, in <module>
    from ._decomp import _asarray_validated
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/linalg/_decomp.py", line 26, in <module>
    from scipy._lib._util import _asarray_validated
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/_lib/_util.py", line 18, in <module>
    from scipy._lib._array_api import array_namespace
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/_lib/_array_api.py", line 17, in <module>
    from scipy._lib.array_api_compat import (
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/scipy/_lib/array_api_compat/numpy/__init__.py", line 1, in <module>
    from numpy import *
  File "<frozen importlib._bootstrap>", line 1410, in _handle_fromlist
  File "<frozen importlib._bootstrap>", line 1412, in _handle_fromlist
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/numpy/__init__.py", line 352, in __getattr__
    import numpy.testing as testing
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/numpy/testing/__init__.py", line 11, in <module>
    from ._private.utils import *
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/numpy/testing/_private/utils.py", line 1393, in <module>
    _SUPPORTS_SVE = check_support_sve()
                    ^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/site-packages/numpy/testing/_private/utils.py", line 1387, in check_support_sve
    output = subprocess.run(cmd, capture_output=True, text=True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/subprocess.py", line 550, in run
    stdout, stderr = process.communicate(input, timeout=timeout)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Here is the output when starting in C.UTF-8 locale:

QT_QPA_PLATFORM="xcb" LANG=C.UTF-8 LC_ALL=C.UTF-8 src/Slicer-SuperBuild9/Slicer-build/Slicer
QFont::fromString: Invalid description 'Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1'
Switch to module:  "Volumes"
Loading Slicer RC file [/home/user/.slicerrc.py]
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<string>", line 129, in loadSlicerRCFile
  File "/home/arc/src/Slicer-SuperBuild9/python-install/lib/python3.12/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 22744: ordinal not in range(128)

If I add --ignore-slicerrc:

QFont::fromString: Invalid description 'Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1'
Switch to module:  "Volumes"

(I don’t know yet if Slicer is usable since I’m currently doing that remotely.)

Further tests:

The default locale of the environment is fr_FR.UTF-8, which is the only locale active in /etc/locale.gen.

The bunch of decode errors before loading .slicerrc.py occur with the default locale in the environment or on the command line.

They do not appear with anything else : {C,en_US,ar_BH,so_SO}.UTF-8. None of these have been generated by locale-gen which is from the glibc package.

@jcfr
It’s usable, but like a disabled person.

It must be started with a locale that has not been generated for glibc. Modules are functional, even Python modules, but the rc file fails to load (a major limitation for me).

Following the upgrade of the Linux build environment, the Preview build should be available for download tomorrow:

Great and thanks @jcfr.

There’s still one last step issue however.

Root cause has been identified and build environment will be updated later today.