fsleyes segmentation fault (core dumped)

I use FSL’s neuroimaging program FSLeyes for my work. Usually, I can start running the program from any directory by simply entering fsleyes into the command line. Today, my cat stood on my computer and OK’d a bunch of updates. Since the updates, everytime I try to run FSLeyes as usual (simply typing fsleyes into command line), the program crashes before opening:

pbl@PBLPMC006L:~$ fsleyes
/home/pbl/fsl/share/fsl/bin/fsleyes: line 2: 5779 Segmentation fault (core dumped) /home/pbl/fsl/bin/python3.11 -I /home/pbl/fsl/bin/fsleyes "$@"

I tried re-installing FSL, and this did not work. Every other FSL program, as well as the FSL GUI itself, is working fine. It is only FSLeyes (the one i need) that is not launching and returning this error.

Here is the exact text I found in the update history log at /var/log/apt/history.log :

Start-Date: 2024-03-02  11:15:06
Commandline: aptdaemon role='role-commit-packages' sender=':1.91'
Upgrade: tcpdump:amd64 (4.99.1-3ubuntu0.1, 4.99.1-3ubuntu0.2), libxtables12:amd64 (1.8.7-1ubuntu5.1, 1.8.7-1ubuntu5.2), udev:amd64 (249.11-0ubuntu3.11, 249.11-0ubuntu3.12), systemd-oomd:amd64 (249.11-0ubuntu3.11, 249.11-0ubuntu3.12), coreutils:amd64 (8.32-4.1ubuntu1, 8.32-4.1ubuntu1.1), libmm-glib0:amd64 (1.20.0-1~ubuntu22.04.2, 1.20.0-1~ubuntu22.04.3), iptables:amd64 (1.8.7-1ubuntu5.1, 1.8.7-1ubuntu5.2), libglx-mesa0:amd64 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), libglx-mesa0:i386 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), python3-distupgrade:amd64 (1:22.04.17, 1:22.04.19), language-pack-en-base:amd64 (1:22.04+20230801, 1:22.04+20240212), update-manager:amd64 (1:22.04.10, 1:22.04.18), google-chrome-stable:amd64 (120.0.6099.129-1, 122.0.6261.94-1), modemmanager:amd64 (1.20.0-1~ubuntu22.04.2, 1.20.0-1~ubuntu22.04.3), systemd-timesyncd:amd64 (249.11-0ubuntu3.11, 249.11-0ubuntu3.12), tzdata:amd64 (2023c-0ubuntu0.22.04.2, 2024a-0ubuntu0.22.04), libpam-systemd:amd64 (249.11-0ubuntu3.11, 249.11-0ubuntu3.12), libgbm1:amd64 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), libgbm1:i386 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), libgdm1:amd64 (42.0-1ubuntu7.22.04.3, 42.0-1ubuntu7.22.04.4), ubuntu-release-upgrader-gtk:amd64 (1:22.04.17, 1:22.04.19), firmware-sof-signed:amd64 (2.0-1ubuntu4.4, 2.0-1ubuntu4.5), alsa-ucm-conf:amd64 (1.2.6.3-1ubuntu1.9, 1.2.6.3-1ubuntu1.10), libip4tc2:amd64 (1.8.7-1ubuntu5.1, 1.8.7-1ubuntu5.2), software-properties-common:amd64 (0.99.22.8, 0.99.22.9), libsystemd0:amd64 (249.11-0ubuntu3.11, 249.11-0ubuntu3.12), libsystemd0:i386 (249.11-0ubuntu3.11, 249.11-0ubuntu3.12), transmission-gtk:amd64 (3.00-2ubuntu2, 3.00-2ubuntu2.1), tracker-miner-fs:amd64 (3.3.3-0ubuntu0.20.04.1, 3.3.3-0ubuntu0.20.04.2), libnss-systemd:amd64 (249.11-0ubuntu3.11, 249.11-0ubuntu3.12), language-pack-en:amd64 (1:22.04+20230801, 1:22.04+20240212), language-pack-gnome-en-base:amd64 (1:22.04+20230801, 1:22.04+20240212), python3-software-properties:amd64 (0.99.22.8, 0.99.22.9), libxatracker2:amd64 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), python-apt-common:amd64 (2.4.0ubuntu2, 2.4.0ubuntu3), systemd:amd64 (249.11-0ubuntu3.11, 249.11-0ubuntu3.12), libudev1:amd64 (249.11-0ubuntu3.11, 249.11-0ubuntu3.12), libudev1:i386 (249.11-0ubuntu3.11, 249.11-0ubuntu3.12), mesa-va-drivers:amd64 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), libgl1-mesa-dri:amd64 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), libgl1-mesa-dri:i386 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), libosmesa6:amd64 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), libosmesa6:i386 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), gdm3:amd64 (42.0-1ubuntu7.22.04.3, 42.0-1ubuntu7.22.04.4), update-manager-core:amd64 (1:22.04.10, 1:22.04.18), mesa-vulkan-drivers:amd64 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), mesa-vulkan-drivers:i386 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), base-files:amd64 (12ubuntu4.4, 12ubuntu4.6), python3-apt:amd64 (2.4.0ubuntu2, 2.4.0ubuntu3), software-properties-gtk:amd64 (0.99.22.8, 0.99.22.9), systemd-hwe-hwdb:amd64 (249.11.4, 249.11.5), python3-distro-info:amd64 (1.1ubuntu0.1, 1.1ubuntu0.2), distro-info-data:amd64 (0.52ubuntu0.5, 0.52ubuntu0.6), tracker-extract:amd64 (3.3.3-0ubuntu0.20.04.1, 3.3.3-0ubuntu0.20.04.2), linux-firmware:amd64 (20220329.git681281e4-0ubuntu3.23, 20220329.git681281e4-0ubuntu3.26), libip6tc2:amd64 (1.8.7-1ubuntu5.1, 1.8.7-1ubuntu5.2), gir1.2-gdm-1.0:amd64 (42.0-1ubuntu7.22.04.3, 42.0-1ubuntu7.22.04.4), distro-info:amd64 (1.1ubuntu0.1, 1.1ubuntu0.2), libglapi-mesa:amd64 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), libglapi-mesa:i386 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), python3-update-manager:amd64 (1:22.04.10, 1:22.04.18), cmake-data:amd64 (3.22.1-1ubuntu1.22.04.1, 3.22.1-1ubuntu1.22.04.2), language-pack-gnome-en:amd64 (1:22.04+20230801, 1:22.04+20240212), transmission-common:amd64 (3.00-2ubuntu2, 3.00-2ubuntu2.1), systemd-sysv:amd64 (249.11-0ubuntu3.11, 249.11-0ubuntu3.12), unzip:amd64 (6.0-26ubuntu3.1, 6.0-26ubuntu3.2), libegl-mesa0:amd64 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), ubuntu-release-upgrader-core:amd64 (1:22.04.17, 1:22.04.19), mesa-vdpau-drivers:amd64 (23.0.4-0ubuntu1~22.04.1, 23.2.1-1ubuntu3.1~22.04.2), cmake:amd64 (3.22.1-1ubuntu1.22.04.1, 3.22.1-1ubuntu1.22.04.2), dns-root-data:amd64 (2021011101, 2023112702~ubuntu0.22.04.1)
End-Date: 2024-03-02  11:16:42

EDIT: Attempting to run the code in Part 2 of the below answer worked for a while, until the following set of errors was encountered:

 Finished command: build (7m34.58s)
  Command '"/home/pbl/fsleyes_fixed/venv/bin/python3" -u build.py build' failed with exit code 1.
  error: subprocess-exited-with-error
  
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> See above for output.
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: /home/pbl/fsleyes_fixed/venv/bin/python3 -u -c '
  exec(compile('"'"''"'"''"'"'
  # This is <pip-setuptools-caller> -- a caller that pip uses to run setup.py
  #
  # - It imports setuptools before invoking setup.py, to enable projects that directly
  #   import from `distutils.core` to work with newer packaging standards.
  # - It provides a clear error message when setuptools is not installed.
  # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so
  #   setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning:
  #     manifest_maker: standard file '"'"'-c'"'"' not found".
  # - It generates a shim setup.py, for handling setup.cfg-only projects.
  import os, sys, tokenize
  
  try:
      import setuptools
  except ImportError as error:
      print(
          "ERROR: Can not execute `setup.py` since setuptools is not available in "
          "the build environment.",
          file=sys.stderr,
      )
      sys.exit(1)
  
  __file__ = %r
  sys.argv[0] = __file__
  
  if os.path.exists(__file__):
      filename = __file__
      with tokenize.open(__file__) as f:
          setup_py_code = f.read()
  else:
      filename = "<auto-generated setuptools caller>"
      setup_py_code = "from setuptools import setup; setup()"
  
  exec(compile(setup_py_code, filename, "exec"))
  '"'"''"'"''"'"' % ('"'"'/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/setup.py'"'"',), "<pip-setuptools-caller>", "exec"))' bdist_wheel -d /tmp/pip-wheel-si9g8sbf
  cwd: /tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/
  Building wheel for wxpython (setup.py) ... error
  ERROR: Failed building wheel for wxpython
  Running setup.py clean for wxpython
  Running command python setup.py clean
  running clean
  'build/lib.linux-x86_64-3.10' does not exist -- can't clean it
  'build/bdist.linux-x86_64' does not exist -- can't clean it
  'build/scripts-3.10' does not exist -- can't clean it
Failed to build wxpython
Installing collected packages: wxpython, scipy, python-dateutil, nibabel, jinja2, h5py, contourpy, matplotlib, fslpy, fsleyes-widgets, fsleyes-props, fsleyes
  Running command Running setup.py install for wxpython
  running install
  /home/pbl/fsleyes_fixed/venv/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
    warnings.warn(
  running build
  WARNING: Building this way assumes that all generated files have been
  generated already.  If that is not the case then use build.py directly
  to generate the source and perform the build stage.  You can use
  --skip-build with the bdist_* or install commands to avoid this
  message and the wxWidgets and Phoenix build steps in the future.

  "/home/pbl/fsleyes_fixed/venv/bin/python3" -u build.py build
  /tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/build.py:43: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
    from distutils.dep_util import newer, newer_group
  Will build using: "/home/pbl/fsleyes_fixed/venv/bin/python3"
  3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0]
  Python's architecture is 64bit
  cfg.VERSION: 4.2.1

  Running command: build
  Running command: build_wx
  wxWidgets build options: ['--wxpython', '--unicode', '--no_config', '--gtk3']
  Configure options: ['--enable-unicode', '--with-gtk=3', '--enable-sound', '--enable-graphics_ctx', '--enable-display', '--enable-geometry', '--enable-debug_flag', '--enable-optimise', '--disable-debugreport', '--enable-uiactionsim', '--enable-autoidman', '--with-sdl']
  /usr/bin/make
  make --jobs=8
  (if test -f utils/wxrc/Makefile ; then cd utils/wxrc && make all ; fi)
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/build/wxbld/gtk3/utils/wxrc'
  make[1]: Nothing to be done for 'all'.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/build/wxbld/gtk3/utils/wxrc'
  Building message catalogs in /tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale
  make allmo
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'af.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'an.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'ar.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'ca.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'ca@valencia.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'co.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'cs.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'da.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'de.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'el.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'es.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'eu.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'fa_IR.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'fi.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'fr.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'gl_ES.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'hi.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'hr.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'hu.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'id.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'it.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'ja.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'ka.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'ko_KR.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'lt.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'lv.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'ms.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'nb.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'ne.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'nl.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'pl.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'pt_BR.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'pt.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'ro.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'ru.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'sk.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'sl.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'sq.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'sr.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'sv.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'ta.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'tr.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'uk.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'vi.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'zh_CN.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: Entering directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  make[1]: 'zh_TW.mo' is up to date.
  make[1]: Leaving directory '/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/ext/wxWidgets/locale'
  Finished command: build_wx (0m1.59s)
  Running command: build_py
  Checking for /tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/bin/waf-2.0.24...
  "/home/pbl/fsleyes_fixed/venv/bin/python3" /tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/bin/waf-2.0.24 --wx_config=/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/build/wxbld/gtk3/wx-config --gtk3 --python="/home/pbl/fsleyes_fixed/venv/bin/python3" --out=build/waf/3.10/gtk3 configure build
  Setting top to                           : /tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918
  Setting out to                           : /tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/build/waf/3.10/gtk3
  Checking for 'gcc' (C compiler)          : /usr/bin/gcc
  Checking for 'g++' (C++ compiler)        : /usr/bin/g++
  Checking for program 'python'            : /home/pbl/fsleyes_fixed/venv/bin/python3
  Checking for python version >= 3.7.0     : 3.10.12
  python-config                            : not found
  Checking for library python3.10 in LIBDIR : not found
  Checking for library python3.10 in python_LIBPL : yes
  Checking for header Python.h                    : Distutils not installed? Broken python installation? Get python-config now!
  The configuration failed
  (complete log in /tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/build/waf/3.10/gtk3/config.log)
  Command '"/home/pbl/fsleyes_fixed/venv/bin/python3" /tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/bin/waf-2.0.24 --wx_config=/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/build/wxbld/gtk3/wx-config --gtk3 --python="/home/pbl/fsleyes_fixed/venv/bin/python3" --out=build/waf/3.10/gtk3 configure build ' failed with exit code 1.
  Finished command: build_py (0.861s)
  Finished command: build (0m1.920s)
  Command '"/home/pbl/fsleyes_fixed/venv/bin/python3" -u build.py build' failed with exit code 1.
  error: subprocess-exited-with-error
  
  × Running setup.py install for wxpython did not run successfully.
  │ exit code: 1
  ╰─> See above for output.
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: /home/pbl/fsleyes_fixed/venv/bin/python3 -u -c '
  exec(compile('"'"''"'"''"'"'
  # This is <pip-setuptools-caller> -- a caller that pip uses to run setup.py
  #
  # - It imports setuptools before invoking setup.py, to enable projects that directly
  #   import from `distutils.core` to work with newer packaging standards.
  # - It provides a clear error message when setuptools is not installed.
  # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so
  #   setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning:
  #     manifest_maker: standard file '"'"'-c'"'"' not found".
  # - It generates a shim setup.py, for handling setup.cfg-only projects.
  import os, sys, tokenize
  
  try:
      import setuptools
  except ImportError as error:
      print(
          "ERROR: Can not execute `setup.py` since setuptools is not available in "
          "the build environment.",
          file=sys.stderr,
      )
      sys.exit(1)
  
  __file__ = %r
  sys.argv[0] = __file__
  
  if os.path.exists(__file__):
      filename = __file__
      with tokenize.open(__file__) as f:
          setup_py_code = f.read()
  else:
      filename = "<auto-generated setuptools caller>"
      setup_py_code = "from setuptools import setup; setup()"
  
  exec(compile(setup_py_code, filename, "exec"))
  '"'"''"'"''"'"' % ('"'"'/tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/setup.py'"'"',), "<pip-setuptools-caller>", "exec"))' install --record /tmp/pip-record-bjtb5oow/install-record.txt --single-version-externally-managed --compile --install-headers /home/pbl/fsleyes_fixed/venv/include/site/python3.10/wxpython
  cwd: /tmp/pip-install-bo4e08sq/wxpython_17ab168368104a5d8d7a0bea8d753918/
  Running setup.py install for wxpython ... error
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> wxpython

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
/home/pbl/fsl/share/fsl/bin/fsleyes: line 2: 64221 Segmentation fault      (core dumped) /home/pbl/fsl/bin/python3.11 -I /home/pbl/fsl/bin/fsleyes "$@"
Asked By: Sophie Flem

||

The update may have caused the C-based libraries to go out of sync between your system and the FSLeyes compilation. Let’s reinstall it the clean way using pip:

  1. Create a new file (and directory if necessary) ~/.local/bin/fsleyes and paste the following :

    #!/bin/bash
    . ~/fsleyes_fixed/venv/bin/activate
    exec fsleyes
    
  2. Right click that file and set it as executable

  3. Run the following:

    sudo apt install python3-venv python3-dev build-essential 
      libgtk2.0-dev libgtk-3-dev libwebkitgtk-6.0-dev libjpeg-turbo8-dev 
      libtiff5-dev libsdl1.2-dev libgstreamer1.0-dev 
      libgstreamer-plugins-base1.0-dev libnotify-dev freeglut3-dev
    
    reboot # to ensure /tmp is clean
    rm -rf ~/.cache/pip
    
    cd ~
    mkdir fsleyes_fixed
    cd fsleyes_fixed
    python3 -m venv venv
    . venv/bin/activate
    pip install wheel
    
    # This is the "install wxPython directly" option.
    # --verbose is added to see progress while it takes an hour to compile.
    # The manual compile ensures that the library versions do not conflict.
    pip install fsleyes --verbose
    
    # Test run
    fsleyes
    
  4. Remove the other installation of FSLeyes

Answered By: Daniel T