Thread: [PyOpenGL-Users] Parse error in GLU.__init__.0102.inc
Brought to you by:
mcfletch
From: John J. L. <jj...@po...> - 2002-07-14 19:13:58
|
I built and installed Mesa 4.0.3 (with GLUT 3.7), and then tried compiling PyOpenGL 2.0.0.44 (with the same gcc that I used to compile Python). Here are the system details: >>> print sys.platform linux2 >>> print sys.version 2.2 (#1, Jan 6 2002, 16:57:53) [GCC 2.95.2 20000220 (Debian GNU/Linux)] >>> print distutils.__version__ 1.0.3 The examples from Mesa work fine. However, I get a parse error a little while after starting a python setup.py build (not build_w): gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -DGLX_PLATFORM -DNUMERIC -I/usr/include -I/usr/local/include -I/usr/X11$6/include -I/usr/local/include/python2.2/Numeric -Isrc/gle/src -I/usr/local/include/python2.2 -c src/interface/GLU.__init___.c -o build/temp.linux-i586-2.2/GLU.__init___.o In file included from src/interface/GLU.__init___.c:9: src/interface/GLU.__init___.0102.inc: In function `SWIG_ConvertPtr': src/interface/GLU.__init___.0102.inc:361: warning: suggest explicit braces to avoid ambiguous `else' src/interface/GLU.__init___.0102.inc:364: warning: suggest explicit braces to avoid ambiguous `else' src/interface/GLU.__init___.0102.inc:380: warning: suggest explicit braces to avoid ambiguous `else' src/interface/GLU.__init___.0102.inc: At top level: src/interface/GLU.__init___.0102.inc:676: warning: function declaration isn't a prototype src/interface/GLU.__init___.0102.inc:722: warning: function declaration isn't a prototype src/interface/GLU.__init___.0102.inc:770: warning: function declaration isn't a prototype src/interface/GLU.__init___.0102.inc:1007: parse error before `GLUquadric' src/interface/GLU.__init___.0102.inc:1007: warning: no semicolon at end of struct orunion src/interface/GLU.__init___.0102.inc:1010: parse error before `}' The problem seems to be src/interface/GLU.__init__.0102.inc , but there's nothing obviously wrong with it. This file is 120k or so, but here is a snippet of it (the first parse error occurs on the line 'GLUquadric *obj;'): [...] static char _doc_gluBuild2DMipmapsui[] = "gluBuild2DMipmapsui(target, components, format, pixels) -> None"; static char _doc_gluBuild2DMipmapsf[] = "gluBuild2DMipmapsf(target, components, format, pixels) -> None"; void CALLBACK throwGLUerror(GLenum code) { PyErr_SetGLUerror(code); } typedef struct { PyObject_HEAD GLUquadric *obj; PyObject *begin, *beginData, *edgeFlag, *edgeFlagData, *vertex, *vertexData; PyObject *end, *endData, *combine, *combineData; } PyGLUquadric; PyGLUquadric *currentQuadric = NULL; static void PyGLUquadric_Del(PyObject *self) { gluDeleteQuadric(((PyGLUquadric*)self)->obj); PyObject_Del(self); } PyTypeObject PyGLUquadric_Type = { PyObject_HEAD_INIT(0) 0, /* ob_size */ "GLUquadric", /* tp_name */ [...] Thanks for any help John |
From: <il...@ya...> - 2002-07-16 06:11:26
|
Hi, I'm going to look at your problem after work today. Just wanted to get a few bits of info. Are you using the cvs version, or the release tar ball? Are you generating the swig wrappers again? If so which version of swig are you using? Don't think you are from your post, just making sure :) I'm in the process of changing the cvs version to use newer swig versions, and it currently isn't entirely working. The release tarball on the other hand should compile with python setup.py build out of the box, as it doesn't regenerate the swig wrappers. My box at home is a duron running debian unstable, it compiled the release tar ball last time I tried it(some months ago). I haven't tried it with mesa though. Anyway... I'll write back when I install mesa/compile at home. --- "John J. Lee" <jj...@po...> wrote: > I built and installed Mesa 4.0.3 (with GLUT 3.7), > and then tried > compiling PyOpenGL 2.0.0.44 (with the same gcc that > I used to compile > Python). Here are the system details: > > >>> print sys.platform > linux2 > >>> print sys.version > 2.2 (#1, Jan 6 2002, 16:57:53) > [GCC 2.95.2 20000220 (Debian GNU/Linux)] > >>> print distutils.__version__ > 1.0.3 > > The examples from Mesa work fine. However, I get a > parse error a little > while after starting a python setup.py build (not > build_w): > __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com |
From: John J. L. <jj...@po...> - 2002-07-17 18:08:22
|
On Tue, 16 Jul 2002, Rene Dudfield wrote: > I'm going to look at your problem after work today. Oops, sorry for my slow reply -- infrequent access to net ATM. > Just wanted to get a few bits of info. > > Are you using the cvs version, or the release tar > ball? Release tarball. > Are you generating the swig wrappers again? If so > which version of swig are you using? Don't think you > are from your post, just making sure :) I'm not regenerating the SWIG wrappers. > I'm in the process of changing the cvs version to use > newer swig versions, and it currently isn't entirely > working. > > The release tarball on the other hand should compile > with python setup.py build out of the box, as it That's what I did. > doesn't regenerate the swig wrappers. My box at home > is a duron running debian unstable, it compiled the I'm using debian 2.2r0. > release tar ball last time I tried it(some months > ago). I haven't tried it with mesa though. Are there any other free sort-of-replacements for GL? I presume you're using an SGI-blessed commercial OpenGL implementation? > Anyway... I'll write back when I install mesa/compile > at home. Thanks John |
From: <il...@ya...> - 2002-07-20 12:47:02
|
Hi John. When you made mesa did it make the sgi one or the mesa one. The sgi one requires a c++ compiler, but is the recommended one, as the mesa one is old, and not being maintained. When you configure mesa it says: checking which GLU to build (SGI requires a C++ compiler)... Mesa or checking which GLU to build (SGI requires a C++ compiler)... SGI I think the header file is the same in either case though. If after using the SGI version it still doesn't work try this: in src/config.h maybe line 112, try removing some of the defines: #define GLUquadric GLUquadricObj #define GLUnurbs GLUnurbsObj #define GLUtesselator GLUtriangulatorObj If none of that works maybe have a look at this: Could be a problem with PyObject_HEAD and your python installation. PyObject_HEAD is a macro included from Python.h. Which gets it from object.h from your /usr/local/include/python2.2/ directory. This is from my object.h Is yours similar? #ifdef Py_TRACE_REFS #define PyObject_HEAD \ struct _object *_ob_next, *_ob_prev; \ int ob_refcnt; \ struct _typeobject *ob_type; #define PyObject_HEAD_INIT(type) 0, 0, 1, type, #else /* !Py_TRACE_REFS */ #define PyObject_HEAD \ int ob_refcnt; \ struct _typeobject *ob_type; #define PyObject_HEAD_INIT(type) 1, type, #endif /* !Py_TRACE_REFS */ That's about all I can think of for now. If you find out what was wrong could you please tell us what the problem was? Good luck :) __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com |