Open enajx opened 2 years ago
If your macOS version is Big Sur, this issue might be related to the location of OpenGL libraries.
In my case, the following solved my issue.
Change the following line in ctypesloader.py
:
fullName = util.find_library( name )
with:
fullName = "/System/Library/Frameworks/{}.framework/{}".format(name,name)
NOTE: ctypesloader.py is under ~/<virtual-env>/lib/python3.9/site-packages/OpenGL/platform/ctypesloader.py
or something similar.
It's Monterey which seems to have a different folder structures in /System/Library/Frameworks/OpenGL.framework
If linking to the homebrew installed OpenGL with fullName='/usr/local/Cellar/glew/2.2.0_1/lib/libGLEW.2.2.0.dylib'
we then get a differnt error:
__init__.py 19 <module>
"/Users/user/.virtualenvs/p39/lib/python3.9/site-packages/dm_control/viewer/__init__.py", line 19
from dm_control.viewer import application
application.py 20 <module>
"/Users/user/.virtualenvs/p39/lib/python3.9/site-packages/dm_control/viewer/application.py", line 20
from dm_control.viewer import gui
__init__.py 25 <module>
"/Users/user/.virtualenvs/p39/lib/python3.9/site-packages/dm_control/viewer/gui/__init__.py", line 25
from dm_control.viewer.gui import glfw_gui
glfw_gui.py 22 <module>
"/Users/user/.virtualenvs/p39/lib/python3.9/site-packages/dm_control/viewer/gui/glfw_gui.py", line 22
from dm_control.viewer.gui import fullscreen_quad
fullscreen_quad.py 20 <module>
"/Users/user/.virtualenvs/p39/lib/python3.9/site-packages/dm_control/viewer/gui/fullscreen_quad.py", line 20
from OpenGL import GL
__init__.py 4 <module>
"/Users/user/.virtualenvs/p39/lib/python3.9/site-packages/OpenGL/GL/__init__.py", line 4
from OpenGL.GL.VERSION.GL_1_1 import *
GL_1_1.py 14 <module>
"/Users/user/.virtualenvs/p39/lib/python3.9/site-packages/OpenGL/GL/VERSION/GL_1_1.py", line 14
from OpenGL.raw.GL.VERSION.GL_1_1 import *
GL_1_1.py 7 <module>
"/Users/user/.virtualenvs/p39/lib/python3.9/site-packages/OpenGL/raw/GL/VERSION/GL_1_1.py", line 7
from OpenGL.raw.GL import _errors
_errors.py 4 <module>
"/Users/user/.virtualenvs/p39/lib/python3.9/site-packages/OpenGL/raw/GL/_errors.py", line 4
_error_checker = _ErrorChecker( _p, _p.GL.glGetError )
error.py 183 __init__
"/Users/user/.virtualenvs/p39/lib/python3.9/site-packages/OpenGL/error.py", line 183
self._isValid = platform.CurrentContextIsValid
baseplatform.py 15 __get__
"/Users/user/.virtualenvs/p39/lib/python3.9/site-packages/OpenGL/platform/baseplatform.py", line 15
value = self.fget( obj )
baseplatform.py 356 CurrentContextIsValid
"/Users/user/.virtualenvs/p39/lib/python3.9/site-packages/OpenGL/platform/baseplatform.py", line 356
return self.GetCurrentContext
baseplatform.py 15 __get__
"/Users/user/.virtualenvs/p39/lib/python3.9/site-packages/OpenGL/platform/baseplatform.py", line 15
value = self.fget( obj )
darwin.py 62 GetCurrentContext
"/Users/user/.virtualenvs/p39/lib/python3.9/site-packages/OpenGL/platform/darwin.py", line 62
return self.CGL.CGLGetCurrentContext
__init__.py 387 __getattr__
"/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ctypes/__init__.py", line 387
func = self.__getitem__(name)
__init__.py 392 __getitem__
"/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ctypes/__init__.py", line 392
func = self._FuncPtr((name_or_ordinal, self))
AttributeError:
dlsym(0x214e746e0, CGLGetCurrentContext): symbol not found
Since the original post is from last week, I presume you're still working with mujoco
version 2.1.3?
If that's the case could you please try upgrading to 2.1.4 to see if the issue persists? (In particular, libGLEW is no longer required).
I just upgraded to 2.1.4, same issue sadly persists
Using the latest install for both dm_control and mujoco via pypi, the viewer can not render a window on OSX (intel chip).
Script:
Error output: