Hi Bennet, I think this is a slightly different issue - on macOS, PyOpenGL should use the macOS-provided OpenGL driver. PyOpenGL will revert to searching for OSMesa when it is unable to find the macOS OpenGL driver, which can occur e.g. when running on a headless macOS system, when SSH'ing into a remote macOS machine, or when executed with "python" instead of "pythonw" (this last scenario is specific to conda-based Python installations). Paul On Fri, 19 Aug 2022 at 18:42, Bennet Fauber <[log in to unmask]> wrote: > The last error refers to MESA, which is the software rendering program > for X windows. > > It appears to be having trouble using OpenGL, which would be part of MESA. > > > ImportError: ('Unable to load OpenGL library',"dlopen(OSMesa, 0x000A): > tried: '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no such file), > '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no such file), > '/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/lib-dynload/../../OSMesa' > (no such file), '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no > such file), '/usr/local/fsl/fslpython/envs/fslpython/bin/../lib/OSMesa' (no > such file), 'OSMesa' (no such file), '/usr/local/lib/OSMesa' (no such > file), '/usr/lib/OSMesa' (no such file), '/Users/ah2818/OSMesa' (no such > file)", 'OSMesa', None) > > In the old days, that might indicate you need XQuartz, but I think > that's no longer available/supported/used. > > If you are using Macports, you could try installing MESA > https://ports.macports.org/port/mesa/ > > Homebrew has something similar. > > Not sure this is the issue, but it looks possible. > > -- bennet > > > On Fri, Aug 19, 2022 at 4:58 AM Hand, Lexi <[log in to unmask]> > wrote: > > > > Hi Paul, > > > > > > > > Thank you so much for your response. I followed those commands you > listed and tested opening FSLeyes again, but after that I’m now > unfortunately returning this error: > > > > > > > > IC-FVFGN7HQQ05N:~ ah2818$ pwd > > > > /Users/ah2818 > > > > IC-FVFGN7HQQ05N:~ ah2818$ sudo rm -r $FSLDIR/fslpython > > > > Password: > > > > IC-FVFGN7HQQ05N:~ ah2818$ sudo $FSLDIR/etc/fslconf/fslpython_install.sh > -f $FSLDIR > > > > Password: > > > > Stage 1 > > > > By installing this python distribution you agree to the license terms in > > > > /usr/local/fsl/fslpython/LICENSE.txt > > > > 100% > > > > Stage 2 > > > > 100% > > > > > /var/folders/yg/glyqxgx114589s22953tdcv80000gp/T/fslpythonXXXX.wbrXIMUa/fslpython_miniconda_installer.log > > > > IC-FVFGN7HQQ05N:~ ah2818$ fsleyes > > > > Traceback (most recent call last): > > > > File "/usr/local/fsl/fslpython/envs/fslpython/bin/fsleyes", line 11, > in <module> > > > > sys.exit(main()) > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/fsleyes/filtermain.py", > line 207, in main > > > > result = fm.main(args) > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/fsleyes/main.py", > line 243, in main > > > > fsleyes.initialise() > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/fsleyes/__init__.py", > line 253, in initialise > > > > plugins.initialise() > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/fsleyes/plugins/__init__.py", > line 225, in initialise > > > > _loadBuiltIns() > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/fsleyes/plugins/__init__.py", > line 269, in _loadBuiltIns > > > > mod = importlib.import_module(name) > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/importlib/__init__.py", > line 127, in import_module > > > > return _bootstrap._gcd_import(name[level:], package, level) > > > > File "<frozen importlib._bootstrap>", line 1014, in _gcd_import > > > > File "<frozen importlib._bootstrap>", line 991, in _find_and_load > > > > File "<frozen importlib._bootstrap>", line 975, in > _find_and_load_unlocked > > > > File "<frozen importlib._bootstrap>", line 671, in _load_unlocked > > > > File "<frozen importlib._bootstrap_external>", line 783, in exec_module > > > > File "<frozen importlib._bootstrap>", line 219, in > _call_with_frames_removed > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/fsleyes/plugins/controls/filetreepanel/__init__.py", > line 18, in <module> > > > > import file_tree > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/file_tree/__init__.py", > line 1, in <module> > > > > from .file_tree import FileTree, convert > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/file_tree/file_tree.py", > line 5, in <module> > > > > import xarray > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/xarray/__init__.py", > line 1, in <module> > > > > from . import testing, tutorial > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/xarray/testing.py", > line 9, in <module> > > > > from xarray.core import duck_array_ops, formatting, utils > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/xarray/core/duck_array_ops.py", > line 26, in <module> > > > > from . import dask_array_compat, dask_array_ops, dtypes, npcompat, > nputils > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/xarray/core/npcompat.py", > line 72, in <module> > > > > _SupportsDType[np.dtype], > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/typing.py", line > 261, in inner > > > > return func(*args, **kwds) > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/typing.py", line > 897, in __class_getitem__ > > > > _check_generic(cls, params) > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/typing_extensions.py", > line 95, in _check_generic > > > > raise TypeError(f"{cls} is not a generic class") > > > > TypeError: <class 'numpy.typing._dtype_like._SupportsDType'> is not a > generic class > > > > IC-FVFGN7HQQ05N:~ ah2818$ > > > > > > > > > > > > I then closed the terminal and tried again and the original error is > showing once more: > > > > > > > > > > > > IC-FVFGN7HQQ05N:~ ah2818$ fsleyes > > > > Traceback (most recent call last): > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/OpenGL/platform/osmesa.py", > line 22, in GL > > > > return ctypesloader.loadLibrary( > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/OpenGL/platform/ctypesloader.py", > line 36, in loadLibrary > > > > return _loadLibraryWindows(dllType, name, mode) > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/OpenGL/platform/ctypesloader.py", > line 89, in _loadLibraryWindows > > > > return dllType( name, mode ) > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/ctypes/__init__.py", > line 373, in __init__ > > > > self._handle = _dlopen(self._name, mode) > > > > OSError: ("dlopen(OSMesa, 0x000A): tried: > '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no such file), > '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no such file), > '/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/lib-dynload/../../OSMesa' > (no such file), '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no > such file), '/usr/local/fsl/fslpython/envs/fslpython/bin/../lib/OSMesa' (no > such file), 'OSMesa' (no such file), '/usr/local/lib/OSMesa' (no such > file), '/usr/lib/OSMesa' (no such file), '/Users/ah2818/OSMesa' (no such > file)", 'OSMesa', None) > > > > > > > > During handling of the above exception, another exception occurred: > > > > > > > > Traceback (most recent call last): > > > > File "/usr/local/fsl/fslpython/envs/fslpython/bin/fsleyes", line 11, > in <module> > > > > sys.exit(main()) > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/fsleyes/filtermain.py", > line 207, in main > > > > result = fm.main(args) > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/fsleyes/main.py", > line 243, in main > > > > fsleyes.initialise() > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/fsleyes/__init__.py", > line 243, in initialise > > > > import fsleyes.plugins as plugins > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/fsleyes/plugins/__init__.py", > line 196, in <module> > > > > import fsleyes.views.canvaspanel as canvaspanel > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/fsleyes/views/canvaspanel.py", > line 20, in <module> > > > > from . import colourbarpanel > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/fsleyes/views/colourbarpanel.py", > line 15, in <module> > > > > import fsleyes.gl.wxglcolourbarcanvas as cbarcanvas > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/fsleyes/gl/wxglcolourbarcanvas.py", > line 17, in <module> > > > > import fsleyes.gl.colourbarcanvas as cbarcanvas > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/fsleyes/gl/colourbarcanvas.py", > line 21, in <module> > > > > import OpenGL.GL as gl > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/OpenGL/GL/__init__.py", > line 3, in <module> > > > > from OpenGL import error as _error > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/OpenGL/error.py", > line 12, in <module> > > > > from OpenGL import platform, _configflags > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/OpenGL/platform/__init__.py", > line 56, in <module> > > > > _load() > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/OpenGL/platform/__init__.py", > line 53, in _load > > > > plugin.install(globals()) > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", > line 97, in install > > > > namespace[ name ] = getattr(self,name,None) > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", > line 15, in __get__ > > > > value = self.fget( obj ) > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/OpenGL/platform/osmesa.py", > line 66, in GetCurrentContext > > > > function = self.OSMesa.OSMesaGetCurrentContext > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", > line 15, in __get__ > > > > value = self.fget( obj ) > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/OpenGL/platform/osmesa.py", > line 60, in OSMesa > > > > def OSMesa( self ): return self.GL > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", > line 15, in __get__ > > > > value = self.fget( obj ) > > > > File > "/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/site-packages/OpenGL/platform/osmesa.py", > line 28, in GL > > > > raise ImportError("Unable to load OpenGL library", *err.args) > > > > ImportError: ('Unable to load OpenGL library', "dlopen(OSMesa, 0x000A): > tried: '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no such file), > '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no such file), > '/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/lib-dynload/../../OSMesa' > (no such file), '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no > such file), '/usr/local/fsl/fslpython/envs/fslpython/bin/../lib/OSMesa' (no > such file), 'OSMesa' (no such file), '/usr/local/lib/OSMesa' (no such > file), '/usr/lib/OSMesa' (no such file), '/Users/ah2818/OSMesa' (no such > file)", 'OSMesa', None) > > > > IC-FVFGN7HQQ05N:~ ah2818$ > > > > > > > > > > > > Do you have any idea what to do next? Your help is very much appreciated! > > > > > > > > Many thanks, > > > > Lexi > > > > > > > > From: FSL - FMRIB's Software Library <[log in to unmask]> on behalf of > paul mccarthy <[log in to unmask]> > > Date: Friday, 19 August 2022 at 09:11 > > To: [log in to unmask] <[log in to unmask]> > > Subject: Re: [FSL] FSLeyes won't run from the command line > > > > This email from [log in to unmask] originates from outside > Imperial. Do not click on links and attachments unless you recognise the > sender. If you trust the sender, add them to your safe senders list to > disable email stamping for this address. > > > > > > > > Hi Lexi, > > > > > > > > Have you updated FSLeyes within your FSL installation? In older > versions, conda can sometimes make mistakes when generating entry points > for Python applications on macOS during an update. This should be resolved > in recent versions of conda though (specifically the python.app package). > > > > > > > > The easiest option to resolve this is probably to delete and re-install > the fslpython conda environment within your $FSLDIR. You should be able to > do this by following these steps: > > > > > > > > 1. Delete the $FSLDIR/fslpython directory: > > > > > > > > sudo rm -r $FSLDIR/fslpython > > > > > > > > 2. Run this script to re-create the fslpython environment: > > > > > > > > sudo $FSLDIR/etc/fslconf/fslpython_install.sh -f $FSLDIR > > > > > > > > Paul > > > > > > > > On Thu, 18 Aug 2022 at 11:47, Hand, Lexi <[log in to unmask]> > wrote: > > > > Hi everyone, > > > > > > > > I’m having some trouble opening FSLeyes from the command line and keep > getting this error: > > > > > > > > IC-FVFGN7HQQ05N:~ ah2818$ fsleyes & > > > > [1] 18955 > > > > IC-FVFGN7HQQ05N:~ ah2818$ Traceback (most recent call last): > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/OpenGL/platform/osmesa.py", > line 22, in GL > > > > return ctypesloader.loadLibrary( > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/OpenGL/platform/ctypesloader.py", > line 36, in loadLibrary > > > > return _loadLibraryWindows(dllType, name, mode) > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/OpenGL/platform/ctypesloader.py", > line 89, in _loadLibraryWindows > > > > return dllType( name, mode ) > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/ctypes/__init__.py", line 373, in > __init__ > > > > self._handle = _dlopen(self._name, mode) > > > > OSError: ("dlopen(OSMesa, 0x000A): tried: > '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no such file), > '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no such file), > '/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/lib-dynload/../../OSMesa' > (no such file), '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no > such file), '/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/MacOS/../lib/OSMesa' (no such file), 'OSMesa' (no > such file), '/usr/local/lib/OSMesa' (no such file), '/usr/lib/OSMesa' (no > such file), '/Users/ah2818/OSMesa' (no such file)", 'OSMesa', None) > > > > > > > > During handling of the above exception, another exception occurred: > > > > > > > > Traceback (most recent call last): > > > > File "/usr/local/fsl/fslpython/envs/fslpython/bin/fsleyes", line 11, > in <module> > > > > sys.exit(main()) > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/fsleyes/filtermain.py", > line 207, in main > > > > result = fm.main(args) > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/fsleyes/main.py", line > 243, in main > > > > fsleyes.initialise() > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/fsleyes/__init__.py", > line 243, in initialise > > > > import fsleyes.plugins as plugins > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/fsleyes/plugins/__init__.py", > line 196, in <module> > > > > import fsleyes.views.canvaspanel as canvaspanel > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/fsleyes/views/canvaspanel.py", > line 20, in <module> > > > > from . import colourbarpanel > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/fsleyes/views/colourbarpanel.py", > line 15, in <module> > > > > import fsleyes.gl.wxglcolourbarcanvas as cbarcanvas > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/fsleyes/gl/wxglcolourbarcanvas.py", > line 17, in <module> > > > > import fsleyes.gl.colourbarcanvas as cbarcanvas > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/fsleyes/gl/colourbarcanvas.py", > line 21, in <module> > > > > import OpenGL.GL as gl > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/OpenGL/GL/__init__.py", > line 3, in <module> > > > > from OpenGL import error as _error > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/OpenGL/error.py", line > 12, in <module> > > > > from OpenGL import platform, _configflags > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/OpenGL/platform/__init__.py", > line 36, in <module> > > > > _load() > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/OpenGL/platform/__init__.py", > line 33, in _load > > > > plugin.install(globals()) > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", > line 97, in install > > > > namespace[ name ] = getattr(self,name,None) > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", > line 15, in __get__ > > > > value = self.fget( obj ) > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/OpenGL/platform/osmesa.py", > line 66, in GetCurrentContext > > > > function = self.OSMesa.OSMesaGetCurrentContext > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", > line 15, in __get__ > > > > value = self.fget( obj ) > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/OpenGL/platform/osmesa.py", > line 60, in OSMesa > > > > def OSMesa( self ): return self.GL > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", > line 15, in __get__ > > > > value = self.fget( obj ) > > > > File "/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/lib/python3.8/site-packages/OpenGL/platform/osmesa.py", > line 28, in GL > > > > raise ImportError("Unable to load OpenGL library", *err.args) > > > > ImportError: ('Unable to load OpenGL library', "dlopen(OSMesa, 0x000A): > tried: '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no such file), > '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no such file), > '/usr/local/fsl/fslpython/envs/fslpython/lib/python3.8/lib-dynload/../../OSMesa' > (no such file), '/usr/local/fsl/fslpython/envs/fslpython/lib/OSMesa' (no > such file), '/usr/local/fsl/fslpython/envs/fslpython/ > python.app/Contents/MacOS/../lib/OSMesa' (no such file), 'OSMesa' (no > such file), '/usr/local/lib/OSMesa' (no such file), '/usr/lib/OSMesa' (no > such file), '/Users/ah2818/OSMesa' (no such file)", 'OSMesa', None) > > > > IC-FVFGN7HQQ05N:~ ah2818$ > > > > > > > > I’ve tried researching but can’t find any solutions. Is anyone able to > tell what’s going on and can help me please? It would be very much > appreciated! > > > > > > > > Many thanks! > > > > Lexi > > > > > > > > ________________________________ > > > > To unsubscribe from the FSL list, click the following link: > > https://www.jiscmail.ac.uk/cgi-bin/WA-JISC.exe?SUBED1=FSL&A=1 > > > > > > > > ________________________________ > > > > To unsubscribe from the FSL list, click the following link: > > https://www.jiscmail.ac.uk/cgi-bin/WA-JISC.exe?SUBED1=FSL&A=1 > > > > > > ________________________________ > > > > To unsubscribe from the FSL list, click the following link: > > https://www.jiscmail.ac.uk/cgi-bin/WA-JISC.exe?SUBED1=FSL&A=1 > > ######################################################################## > > To unsubscribe from the FSL list, click the following link: > https://www.jiscmail.ac.uk/cgi-bin/WA-JISC.exe?SUBED1=FSL&A=1 > > This message was issued to members of www.jiscmail.ac.uk/FSL, a mailing > list hosted by www.jiscmail.ac.uk, terms & conditions are available at > https://www.jiscmail.ac.uk/policyandsecurity/ > ######################################################################## To unsubscribe from the FSL list, click the following link: https://www.jiscmail.ac.uk/cgi-bin/WA-JISC.exe?SUBED1=FSL&A=1 This message was issued to members of www.jiscmail.ac.uk/FSL, a mailing list hosted by www.jiscmail.ac.uk, terms & conditions are available at https://www.jiscmail.ac.uk/policyandsecurity/