1

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]: '[email protected]' 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 "$@"
5
  • That fsl does not seem to be from the Ubuntu repos. In case the problem is with Python, please capture a wiki.ubuntu.com/Backtrace .
    – Daniel T
    Commented Mar 2 at 22:00
  • Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.
    – Community Bot
    Commented Mar 3 at 10:40
  • @user535733 I have edited the question to include the history log, per your suggestion. Thanks!! Commented Mar 3 at 16:54
  • Of those packages, Mesa stands out. Do things work if you do LIBGL_ALWAYS_SOFTWARE=1 fsleyes ?
    – Daniel T
    Commented Mar 3 at 17:10
  • @DanielT Thanks for the suggestion! Unfortunately, no, this yielded another similar error, specifically it read: /home/pbl/fsl/share/fsl/bin/fsleyes: line 2: 17316 Segmentation fault (core dumped) /home/pbl/fsl/bin/python3.11 -I /home/pbl/fsl/bin/fsleyes "$@" Commented Mar 3 at 17:14

1 Answer 1

0

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

6
  • Thanks so much for the detailed instructions! Full disclosure, I am inexperienced with this stuff so the detailed instructions help a lot. I was not able to follow steps 1 and 3 because I could not find that path in my directory system. However, I did try running the code from step 2, and encountered an error that is too long to paste here, so I will try adding to the original post. Commented Mar 3 at 18:48
  • @SophieFlem For step 1, you need to create the file. For step 2, rerun the installation without --verbose and post that error to make it shorter
    – Daniel T
    Commented Mar 3 at 18:51
  • @SophieFlem Sorry, you need also need sudo apt install python3-dev . I am currently verifying using a clean Ubuntu container which packages you need to install
    – Daniel T
    Commented Mar 3 at 19:36
  • Ok, I edit the post to something that I tested will compile in a Ubuntu 22.04 Docker. I also tested it to compile and the window to show up in my 23.10 host
    – Daniel T
    Commented Mar 3 at 19:51
  • 1
    OK, I did successfully boot FSLeyes! It does look quite different than it did before so I believe you helped me access a perhaps long-overdue update. It remains to be seen whether this will keep working but as of now I am optimistic. Thank you so much for your help! Commented Mar 3 at 21:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .