I downloaded and installed Bob's binary of wxPython for 2.4, which seems to work nicely but expects PyOpenGL to be installed. So I tried installing it and fell right back into the header file messes again.
Issues so far: 1. the current source tarball has a big problem. There is a script, get_gl_extensions.py, at the top level of the cvs code which adds a heap of cruft starting '#include <GL/glext.h> on to the end of almost all the wrapper .i files. This include does not work on MacOS but even changing it to <OpenGL/glext.h> just results in a load of 'syntax error's. Using CVS code gets over this. It seems the offending script was merged to the head in July 2005. Does any one know why? 2. config/ darwin.cfg adds /System/Library/Frameworks/ Kernel.framework/Headers to the header search path. This creates a problem because '#include <stat.h> then includes the Kernel framework version of stat.h which lacks necessary declarations. This issue has also been reported by others on PyOpenGL mail lists. Does anyone know why the Kernel framework is used? 3. around src/config.h:96 there is code like #ifdef CGL_PLATFORM #include <OpenGL/gl.h> #include <OpenGL/glu.h> #include <glut.h> #else this leaves certain functions undeclared such as CGLGetCurrentContext. Altering the code thus removes these problems #ifdef CGL_PLATFORM #include <OpenGL/gl.h> #include <OpenGL/glu.h> #include <OpenGL/OpenGL.h> #include <GLUT/glut.h> #else this change has a side benefit of rendering the include_dirs on line 14 of darwin.cfg unnecessary. A directive like '#include <OpenGL/ gl.h>' automatically searches the standard framework search path (~/ Library/Frameworks:/Library/Frameworks:/System/Library/Frameworks) for an OpenGL.framework and the loads the header from the Headers directory in that framework. 4. at src/gle/src/texgen.c around line 14 there is the following: #ifdef __APPLE_CC__ /#include <sys/types.h> /* Darwin has a bug that doesn't define u_short in */ /#include <sys/malloc.h> /* malloc.h, so we have to get it through stdio.h. */ #else #include <malloc.h> #endif this results in malloc and realloc not being declared. I have no idea how this code got concocted. All the sources I have consulted (Apple's documentation, Opengroup standards and even my 1988 copy of K&R) say malloc and realloc are provided by <stdlib.h>. Changing the code as below results in all the warnings going away #ifdef __APPLE_CC__ #include <stdlib.h> #else #include <malloc.h> #endif With these changes the cvs code for PyOpenGL builds happily, although there are still a lot of warnings. Thanks Bill Northcott PS This build works happily with _POSIX_C_SOURCES defined! _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig