mkeeter / kokopelli

Script-based CAD/CAM in Python (deprecated)
https://mattkeeter.com/projects/kokopelli
Other
298 stars 49 forks source link

cant start on linux mint maya (ubuntu 12.04) #10

Closed Cdriko closed 10 years ago

Cdriko commented 10 years ago

hello I try to run kokopelli but the window open and close immediatly with an error :

ctypes.ArgumentError: ("argument 4: <type 'exceptions.TypeError'>: No array-type handler for type <class 'OpenGL.converters.c_int_Array_1'> (value: <OpenGL.converters.c_int_Array_1 object at 0x2be4e) registered", (3L, 1, <OpenGL.converters.c_char_p_Array_1 object at 0x2be4dd0>, <OpenGL.converters.c_int_Array_1 object at 0x2be4ef0>))

note that I installed all the dependancies

mkeeter commented 10 years ago

Is that the entire traceback? What happens if you just try to import OpenGL from a python terminal?

Cdriko commented 10 years ago

I try to import OpenGL in ipython and :

In [3]: %run kokopelli
[|||||||---]    importing koko.glcanvasNo handlers could be found for logger "OpenGL.arrays.numpymodule"
[||||||||||]    starting...---------------------------------------------------------------------------
ArgumentError                             Traceback (most recent call last)
/home/cedric/soft/kokopelli/koko/glcanvas.pyc in evt_paint(self, evt, shader)
    147     def evt_paint(self, evt=None, shader=None):
    148         if not self.init:
--> 149             self.init_GL()
    150         self.draw(shader)
    151 

/home/cedric/soft/kokopelli/koko/glcanvas.pyc in init_GL(self)
    396     def init_GL(self):
    397         self.SetCurrent(self.context)
--> 398         self.compile_shaders()
    399 
    400         glEnable(GL_DEPTH_TEST)

/home/cedric/soft/kokopelli/koko/glcanvas.pyc in compile_shaders(self)
    289 
    290         self.plain_shader = shaders.compileProgram(
--> 291             shaders.compileShader(mesh_vs,      GL_VERTEX_SHADER),
    292             shaders.compileShader(shaded_fs,    GL_FRAGMENT_SHADER))
    293         self.wire_shader = shaders.compileProgram(

/usr/lib/pymodules/python2.7/OpenGL/GL/shaders.pyc in compileShader(source, shaderType)
    148         source = [ source ]
    149     shader = glCreateShader(shaderType)
--> 150     glShaderSource( shader, source )
    151     glCompileShader( shader )
    152     result = glGetShaderiv( shader, GL_COMPILE_STATUS )

/usr/local/lib/python2.7/dist-packages/OpenGL_accelerate/latebind.so in OpenGL_accelerate.latebind.LateBind.__call__ (src/latebind.c:977)()

/usr/local/lib/python2.7/dist-packages/OpenGL_accelerate/latebind.so in OpenGL_accelerate.latebind.LateBind.__call__ (src/latebind.c:977)()

/usr/local/lib/python2.7/dist-packages/OpenGL_accelerate/wrapper.so in OpenGL_accelerate.wrapper.Wrapper.__call__ (src/wrapper.c:6394)()

ArgumentError: ("argument 4: <type 'exceptions.TypeError'>: No array-type handler for type <class 'OpenGL.converters.c_int_Array_1'> (value: <OpenGL.converters.c_int_Array_1 object at 0x31260) registered", (1L, 1, <OpenGL.converters.c_char_p_Array_1 object at 0x31260e0>, <OpenGL.converters.c_int_Array_1 object at 0x3126050>))
---------------------------------------------------------------------------
ArgumentError                             Traceback (most recent call last)
/home/cedric/soft/kokopelli/koko/glcanvas.pyc in evt_size(self, evt)
    139     def evt_size(self, evt=None):
    140         if not self.init:
--> 141             self.init_GL()
    142         else:
    143             self.update_viewport()

/home/cedric/soft/kokopelli/koko/glcanvas.pyc in init_GL(self)
    396     def init_GL(self):
    397         self.SetCurrent(self.context)
--> 398         self.compile_shaders()
    399 
    400         glEnable(GL_DEPTH_TEST)

/home/cedric/soft/kokopelli/koko/glcanvas.pyc in compile_shaders(self)
    289 
    290         self.plain_shader = shaders.compileProgram(
--> 291             shaders.compileShader(mesh_vs,      GL_VERTEX_SHADER),
    292             shaders.compileShader(shaded_fs,    GL_FRAGMENT_SHADER))
    293         self.wire_shader = shaders.compileProgram(

/usr/lib/pymodules/python2.7/OpenGL/GL/shaders.pyc in compileShader(source, shaderType)
    148         source = [ source ]
    149     shader = glCreateShader(shaderType)
--> 150     glShaderSource( shader, source )
    151     glCompileShader( shader )
    152     result = glGetShaderiv( shader, GL_COMPILE_STATUS )

/usr/local/lib/python2.7/dist-packages/OpenGL_accelerate/latebind.so in OpenGL_accelerate.latebind.LateBind.__call__ (src/latebind.c:977)()

/usr/local/lib/python2.7/dist-packages/OpenGL_accelerate/latebind.so in OpenGL_accelerate.latebind.LateBind.__call__ (src/latebind.c:977)()

/usr/local/lib/python2.7/dist-packages/OpenGL_accelerate/wrapper.so in OpenGL_accelerate.wrapper.Wrapper.__call__ (src/wrapper.c:6394)()

ArgumentError: ("argument 4: <type 'exceptions.TypeError'>: No array-type handler for type <class 'OpenGL.converters.c_int_Array_1'> (value: <OpenGL.converters.c_int_Array_1 object at 0x31261) registered", (2L, 1, <OpenGL.converters.c_char_p_Array_1 object at 0x3126320>, <OpenGL.converters.c_int_Array_1 object at 0x3126170>))
---------------------------------------------------------------------------
ArgumentError                             Traceback (most recent call last)
/usr/lib/python2.7/dist-packages/IPython/utils/py3compat.pyc in execfile(fname, *where)
    173             else:
    174                 filename = fname
--> 175             __builtin__.execfile(filename, *where)

/home/cedric/soft/kokopelli/kokopelli in <module>()
     69     sys.stdout.flush()
     70     wx.Log.EnableLogging(False)
---> 71     app = App()
     72     print '\r'+' '*80+'\r',
     73     sys.stdout.flush()

/usr/local/lib/python2.7/dist-packages/wx/_core.pyc in __init__(self, redirect, filename, useBestVisual, clearSigInt)
   8629         # This finishes the initialization of wxWindows and then calls

   8630         # the OnInit that should be present in the derived class

-> 8631         self._BootstrapApp()
   8632 
   8633 

/usr/local/lib/python2.7/dist-packages/wx/_core.pyc in _BootstrapApp(*args, **kwargs)
   8194         For internal use only
   8195         """
-> 8196         return _core_.PyApp__BootstrapApp(*args, **kwargs)
   8197 
   8198     def GetComCtl32Version(*args, **kwargs):

/home/cedric/soft/kokopelli/koko/app.pyc in OnInit(self)
     92         # initialize itself, then switch back to the heightmap

     93         self.render_mode('3D')
---> 94         koko.GLCANVAS.init_GL()
     95         self.render_mode('2D')
     96 

/home/cedric/soft/kokopelli/koko/glcanvas.pyc in init_GL(self)
    396     def init_GL(self):
    397         self.SetCurrent(self.context)
--> 398         self.compile_shaders()
    399 
    400         glEnable(GL_DEPTH_TEST)

/home/cedric/soft/kokopelli/koko/glcanvas.pyc in compile_shaders(self)
    289 
    290         self.plain_shader = shaders.compileProgram(
--> 291             shaders.compileShader(mesh_vs,      GL_VERTEX_SHADER),
    292             shaders.compileShader(shaded_fs,    GL_FRAGMENT_SHADER))
    293         self.wire_shader = shaders.compileProgram(

/usr/lib/pymodules/python2.7/OpenGL/GL/shaders.pyc in compileShader(source, shaderType)
    148         source = [ source ]
    149     shader = glCreateShader(shaderType)
--> 150     glShaderSource( shader, source )
    151     glCompileShader( shader )
    152     result = glGetShaderiv( shader, GL_COMPILE_STATUS )

/usr/local/lib/python2.7/dist-packages/OpenGL_accelerate/latebind.so in OpenGL_accelerate.latebind.LateBind.__call__ (src/latebind.c:977)()

/usr/local/lib/python2.7/dist-packages/OpenGL_accelerate/latebind.so in OpenGL_accelerate.latebind.LateBind.__call__ (src/latebind.c:977)()

/usr/local/lib/python2.7/dist-packages/OpenGL_accelerate/wrapper.so in OpenGL_accelerate.wrapper.Wrapper.__call__ (src/wrapper.c:6394)()

ArgumentError: ("argument 4: <type 'exceptions.TypeError'>: No array-type handler for type <class 'OpenGL.converters.c_int_Array_1'> (value: <OpenGL.converters.c_int_Array_1 object at 0x31260) registered", (3L, 1, <OpenGL.converters.c_char_p_Array_1 object at 0x3126050>, <OpenGL.converters.c_int_Array_1 object at 0x31260e0>))
Cdriko commented 10 years ago

now I reinstall dependencies and I got :

[|||||||---]    importing koko.glcanvasNo handlers could be found for logger "OpenGL.converters"

Traceback (most recent call last):
  File "./kokopelli", line 64, in <module>
    from koko.app import App
  File "/home/cedric/soft/kokopelli/koko/app.py", line 22, in <module>
    from   koko.frame       import MainFrame
  File "/home/cedric/soft/kokopelli/koko/frame.py", line 16, in <module>
    from    koko.glcanvas  import GLCanvas
  File "/home/cedric/soft/kokopelli/koko/glcanvas.py", line 18, in <module>
    from OpenGL.GL      import *
  File "/usr/local/lib/python2.7/dist-packages/OpenGL/GL/__init__.py", line 4, in <module>
    from OpenGL.GL.VERSION.GL_1_1 import *
  File "/usr/local/lib/python2.7/dist-packages/OpenGL/GL/VERSION/GL_1_1.py", line 12, in <module>
    from OpenGL.GL import glget
  File "/usr/local/lib/python2.7/dist-packages/OpenGL/GL/glget.py", line 13, in <module>
    from OpenGL.raw.GL.VERSION import GL_1_1 as _simple
  File "/usr/local/lib/python2.7/dist-packages/OpenGL/raw/GL/VERSION/GL_1_1.py", line 7, in <module>
    from OpenGL.raw.GL import _errors
  File "/usr/local/lib/python2.7/dist-packages/OpenGL/raw/GL/_errors.py", line 4, in <module>
    _error_checker = _ErrorChecker( _p, _p.GL.glGetError )
  File "errorchecker.pyx", line 18, in OpenGL_accelerate.errorchecker._ErrorChecker.__init__ (src/errorchecker.c:822)
TypeError: an integer is required
mkeeter commented 10 years ago

Have you tried running the command from OpenGL.GL import * in a Python terminal?

Cdriko commented 10 years ago

I got :

In [1]: from OpenGL.GL import *
No handlers could be found for logger "OpenGL.converters"
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/home/cedric/soft/kokopelli/<ipython-input-1-8b65418eed92> in <module>()
----> 1 from OpenGL.GL import *

/usr/local/lib/python2.7/dist-packages/OpenGL/GL/__init__.py in <module>()
      2 # early import of our modules to prevent import loops...

      3 from OpenGL import error as _error
----> 4 from OpenGL.GL.VERSION.GL_1_1 import *
      5 from OpenGL.GL.glget import *
      6 from OpenGL.GL.pointers import *

/usr/local/lib/python2.7/dist-packages/OpenGL/GL/VERSION/GL_1_1.py in <module>()
     10 from OpenGL import platform, constant, arrays
     11 from OpenGL import extensions, wrapper
---> 12 from OpenGL.GL import glget
     13 import ctypes
     14 from OpenGL.raw.GL import _types

/usr/local/lib/python2.7/dist-packages/OpenGL/GL/glget.py in <module>()
     11 """
     12 from OpenGL import wrapper
---> 13 from OpenGL.raw.GL.VERSION import GL_1_1 as _simple
     14 from OpenGL.raw.GL import _glgets
     15 import ctypes

/usr/local/lib/python2.7/dist-packages/OpenGL/raw/GL/VERSION/GL_1_1.py in <module>()
      5 # End users want this...

      6 from OpenGL.raw.GL._types import *
----> 7 from OpenGL.raw.GL import _errors
      8 from OpenGL.constant import Constant as _C
      9 # Spec mixes constants from 1.0 and 1.1

/usr/local/lib/python2.7/dist-packages/OpenGL/raw/GL/_errors.py in <module>()
      2 from OpenGL.error import _ErrorChecker
      3 if _ErrorChecker:
----> 4     _error_checker = _ErrorChecker( _p, _p.GL.glGetError )
      5 else:
      6     _error_checker = None

/usr/local/lib/python2.7/dist-packages/OpenGL_accelerate/errorchecker.so in OpenGL_accelerate.errorchecker._ErrorChecker.__init__ (src/errorchecker.c:822)()

TypeError: an integer is required
mkeeter commented 10 years ago

This sounds like a PyOpenGL error, not a kokopelli problem. I'm going to close the issue and refer you to the PyOpenGL mailing list.

One fix for this kind of error is to use the appropriate binary OpenGL drivers for your system, but beyond that I'm not sure of any other fixes.