#6 undefined symbol in _opengl.so

v1.5.6
closed
GL (5)
5
2001-06-30
2001-06-01
No

When attempting to import OpenGL.GL, I recieve the
following error:

Traceback (most recent call last):
File "geodesic.py", line 4, in ?
from OpenGL.GL import *
File
"/usr/lib/python2.0/site-packages/OpenGL/GL/__init__.py",
line 21, in ?
import OpenGL.dynload._opengl
ImportError:
/usr/lib/python2.0/site-packages/OpenGL/dynload/linux-i386/_opengl.so:
undefined symbol: glPolygonOffsetEXT

Inspecting the opengl include files, and in particular,
<GL/glext.h> seemed to indicate (mind you, I have
little or no experience with OpenGL extensions) that
GL_GLEXT_PROTOTYPES needed to be #define'd. So, in the
setup.py script, I added -DGL_GLEXT_PROTOTYPES to
enable extensions. When that failed, I explictly #def'd
it in _openglmodule.c. Again, this did not alleviate
the problem. What, then, needs to be done to rectify this?

Useful tidbits: Linux Mandrake 8.0, Kernel 2.4.3 (plus
Mandrake's patches) XFree86 4.0.3, Mesa 3.4.1 (with
NVIDIA_GLX 0.9-769), Python 2.0

Discussion

  • Nobody/Anonymous

    Logged In: NO

    fixed the problem. Source: NVidia OpenGL drivers rename some
    -EXT functions. in _openglmodule.c i added:
    #define glPolygonOffsetEXT glPolygonOffset
    #define glArrayElementEXT glArrayElement
    #define glDrawArraysEXT glDrawArrays
    #define glBlendColorEXT glBlendColor
    #define glBlendEquationEXT glBlendEquation
    #define glPolygonOffsetEXT glPolygonOffset
    #define glArrayElementEXT glArrayElement
    #define glDrawArraysEXT glDrawArrays
    #define glBlendColorEXT glBlendColor
    #define glBlendEquationEXT glBlendEquation
    at line 3384 or so.

     
  • Tarn Weisner Burton

    • labels: --> GL
    • milestone: --> v1.5.6
     
  • Tarn Weisner Burton

    • assigned_to: nobody --> twburton
    • status: open --> closed
     
  • Tarn Weisner Burton

    Logged In: YES
    user_id=21784

    This is really a bug in NVidia's driver. If GL_EXT_* is
    defined then the correct protos should be exported. To
    avoid this bug I changed _openglmodule.c to link to the non-
    EXT proto if GL_VERSION_1_1 is defined.

     

Log in to post a comment.