Opened 8 years ago

Closed 7 years ago

#39196 closed defect (fixed)

py33-opengl-accelerate import level >=0 for python 3.3.

Reported by: mamoll (Mark Moll) Owned by: jmroot (Joshua Root)
Priority: Normal Milestone:
Component: ports Version: 2.1.3
Keywords: Cc: cooljeanius (Eric Gallager), NeilGirdhar (Neil)
Port: py33-opengl-accelerate

Description

There is an incompatibility between python 3.3 and PyOpenGL-accelerate that is fortunately easy to fix. Attached is a patch. Without it, you get errors of this sort:

  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/OpenGL/GL/__init__.py", line 3, in <module>
    from OpenGL.GL.VERSION.GL_1_1 import *
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/OpenGL/GL/VERSION/GL_1_1.py", line 10, in <module>
    from OpenGL import platform, constants, constant, arrays
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/OpenGL/arrays/__init__.py", line 19, in <module>
    from OpenGL.arrays.arraydatatype import *
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/OpenGL/arrays/arraydatatype.py", line 14, in <module>
    from OpenGL_accelerate.arraydatatype import ArrayDatatype as ADT
  File "arraydatatype.pyx", line 1, in init OpenGL_accelerate.arraydatatype (src/arraydatatype.c:9315)
  File "wrapper.pyx", line 2, in init OpenGL_accelerate.wrapper (src/wrapper.c:10792)
ValueError: level must be >= 0

Attachments (1)

patch-py33-import.diff (23.1 KB) - added by mamoll (Mark Moll) 8 years ago.

Download all attachments as: .zip

Change History (13)

Changed 8 years ago by mamoll (Mark Moll)

Attachment: patch-py33-import.diff added

comment:1 Changed 8 years ago by jmroot (Joshua Root)

Is there an upstream report for this?

comment:2 Changed 8 years ago by mamoll (Mark Moll)

Yes: https://svn.boost.org/trac/boost/ticket/4657. Not sure what the hold up is with incorporating this patch.

comment:3 Changed 8 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:4 Changed 7 years ago by mamoll (Mark Moll)

Oops, that upstream report link is totally unrelated. I must have been working on two things at once. There is no bug tracker for PyOpenGL-accelerate, so there is no upstream report.

comment:5 in reply to:  4 Changed 7 years ago by jmroot (Joshua Root)

Replying to mmoll@…:

There is no bug tracker for PyOpenGL-accelerate, so there is no upstream report.

It's the same as for PyOpenGL: http://sourceforge.net/p/pyopengl/bugs/

comment:6 Changed 7 years ago by NeilGirdhar (Neil)

Cc: mistersheik@… added

Cc Me!

comment:7 Changed 7 years ago by NeilGirdhar (Neil)

Cc: mistersheik@… removed

Cc Me!

comment:8 Changed 7 years ago by NeilGirdhar (Neil)

Cc: mistersheik@… added

Cc Me!

comment:9 Changed 7 years ago by mamoll (Mark Moll)

This is marked as "fixed" upstream: http://sourceforge.net/p/pyopengl/bugs/259/. This doesn't really seem like a fix until the next version of py-opengl-accelerate is released. Can we use the attached patch till then? Or can someone with better python skills regenerate the c files?

comment:10 in reply to:  9 Changed 7 years ago by seanfarley (Sean Farley)

Replying to mmoll@…:

This is marked as "fixed" upstream: http://sourceforge.net/p/pyopengl/bugs/259/. This doesn't really seem like a fix until the next version of py-opengl-accelerate is released. Can we use the attached patch till then? Or can someone with better python skills regenerate the c files?

I think the attached diff is fine until the next release is out. I had to do this previously for a port (can't remember which) that needed newly generated C files and the consensus was that it was better to have an ugly diff for a short time than to require cython for the fix.

comment:11 Changed 7 years ago by jmroot (Joshua Root)

Go ahead and apply it.

comment:12 Changed 7 years ago by mamoll (Mark Moll)

Resolution: fixed
Status: newclosed

Committed in r117985.

Note: See TracTickets for help on using tickets.