[PyOpenGL-Devel] Mandrake Linux compile issue summary / notes
Brought to you by:
mcfletch
|
From: Derek S. <de...@re...> - 2002-02-21 21:01:23
|
I have finally gotten PyOpenGL to compile under a fairly clean Mandrake Linux 8.1 install. I am posting my notes here in the hopes that the appropriate package maintainers will fix their build processes. I now have a PyOpenGL-2.0.0.44-1.i686.rpm which looks like it will work (I haven't written any test scripts yet). If you'd like to post this on the website email me and I will send you the file. Here are the issues I had: 1. The RPM for 'numeric' was installed on my system (by default), but the build failed because it couldn't find some file or header or something. The problem was that the install script detected the presence of numeric, but not everything needed to compile PyOpenGL was there. Uninstalling numeric fixed the problem... My guess is that installing 'numeric-devel' (if such a beast exists) would have fixed it too and provided me with numeric support, but I was after the quick fix. It would be nice if the install script was able to *specifically* look for what it needs, instead of just the generic presence of numeric. 2. The build looks in /usr/X11 but not /usr/X11R6. Making a symlink called /usr/X11 that points to /usr/X11R6 fixed this problem for me. I'm sure that the following diff to config/linux.cfg would also fix the problem: [root@dereks PyOpenGL-2.0.0.44]# diff config/linux.cfg-dist config/linux.cfg 15c15 < library_dirs=/usr/lib:/usr/local/lib:/usr/X11/lib --- > library_dirs=/usr/lib:/usr/local/lib:/usr/X11/lib:/usr/X11R6/lib 3. The glu.h file that comes with Mesa-common-devel-3.4.2-2mdk does not work, and causes the PyOpenGL build to fail. If I recall correctly the stuct GLUquadratic (or some such) was not defined or declared, resulting in syntax errors in the C code. Installing SGI's package oss-opengl-glu-20000925-1.i386.rpm instead of Mesa-common-devel fixed that for me. 4. Unfortunately, oss-opengl-glu-20000925-1.i386.rpm does not include GLUT, it only includes GLU. Mesa-common-devel DOES include GLUT. So here is what I did to get around this problem: # First, make sure we have a "clean" start: rpm -e Mesa-common-devel rpm -e oss-opengl-glu-20000925-1 # Now, install Mesa-common-devel. This is where I actually started from. rpm -ivh Mesa-common-devel-3.4.2-2mdk.i586.rpm # Next, ALSO install the SGI package. Note that I must use the '--force' # option to RPM because it installs a conflicting (yet correct) glu.h # file. rpm -ivh --force oss-opengl-glu-20000925-1.i386.rpm The SGI package overwrites the broken glu.h that comes with Mesa-common-devel (because of the --force option), but Mesa-common-devel gives me GLUT. If anybody has an "in" with the Mesa-common-devel maintainer, ask him to fix this problem :). NOTE: I am NOT using Mesa for my OpenGL, I am using GLX with my proprietary NVidia drivers. However, I use Mesa-common for GLU and GLUT. This is on a Dell Inspiron 8100, the coolest fscking laptop ever :). I am a strong believer in using your O.S.'s package management system and not leaving un-registered turds of files all over your hard drive. It would be nice if these little problems could be fixed, or at least the resulting binary RPM made available for download. Thanks, Derek Simkowiak |