#219 glutInit fails on windows 64-bit

v3.0.0
open
GLUT (25)
5
2009-10-03
2009-10-03
Jason G
No

On a 64-bit Windows 7 machine, GLUT fails on glutInit with the following traceback:

Traceback (most recent call last):
File "C:\Programming\NE\HyperNEAT\HyperNEAT_Visualizer\src\HyperNEATVisualizer.py", line 287, in <module>
visualizer.main()
File "C:\Programming\NE\HyperNEAT\HyperNEAT_Visualizer\src\HyperNEATVisualizer.py", line 233, in main
glutInit(sys.argv)
File "c:\Python26\Lib\site-packages\OpenGL\GLUT\special.py", line 322, in glutInit
_base_glutInit( ctypes.byref(count), holder )
TypeError: 'NoneType' object is not callable

I tried copying the glut and gle dll's to my c:\windows\system32\ directory but that didn't change anything.

If I comment out the glutInit function, I get this:

Traceback (most recent call last):
File "C:\Programming\NE\HyperNEAT\HyperNEAT_Visualizer\src\HyperNEATVisualizer.py", line 287, in <module>
visualizer.main()
File "C:\Programming\NE\HyperNEAT\HyperNEAT_Visualizer\src\HyperNEATVisualizer.py", line 240, in main
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_ALPHA | GLUT_DEPTH)
File "c:\Python26\Lib\site-packages\OpenGL\platform\baseplatform.py", line 336, in __call__
self.__name__, self.__name__,
OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInitDisplayMode, check for bool(glutInitDisplayMode) before calling

I get the same error with any of the NeHe opengl lesson code. It works fine on my linux machine and my windows 32-bit machine, so I think it's something to do with windows 64-bit. Are there 64-bit versions of the glut and gle DLLs?

Discussion

  • I had the same problem on Python 2.6.4 64-bit, PyOpenGL-3.0.1b1, Windows 7. Turned out there was a 32-bit glut32.dll file in the PATH, which was used instead of the correct 64-bit glut32.dll in Python26\Lib\site-packages\OpenGL\DLLS. Everything worked once I cleaned the PATH environment variable. You can download a 64-bit version of PyOpenGL for Windows at <http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl>