From: Brian P. <br...@pr...> - 2000-06-28 15:27:00
|
Olivier Michel wrote: > > Hello, > > I wrote the ogl-sample-glu.spec RPM file to produce the RPM package for > SGI SI GLU and everything seemed fine. I could build the > ogl-sample-glu-20000126.i386.rpm file properly. > > I also built a mesa-without-glu-280600.i386.rpm for testing SGI SI GLU > with mesa core GL. > > However, I had a couple of problems when trying to get it work: > > 1) The SGI glu.h file has some problem with Mesa gl.h file: > > a) The typedef void (*_GLfuncptr) defined in SGI gl.h but not in Mesa > gl.h > => idea: either add this typedef to Mesa gl.h, > or use something different in SGI glu.h (like *_GLUfuncptr) My understanding was the _GLfuncptr was something added in order to make work the autogeneration of the header files from the spec files. It's supposed to be a private symbol. I like the idea of glu.h defining _GLUfuncptr if it needs it. > b) The old OpenGL 1.0 constants GL_LOGIC_OP AND GL_TEXTURE_COMPONENT are > redefined in SGI glu.h (they are previously defined in Mesa gl.h) > => idea: move them into SGI gl.h glu.h should not define any GL_* tokens. Could you send me your glu.h file? > 2) The libGLU.so built from the GNUmakefile does not contain the C++ > symbols like __pure_virtual. This is Ok if you link it with a C++ app, > but it causes an undefined symbol when linking with C programs or > libraries. I could work around this problem by linking by hand the > libGLU.so using g++ instead of ld: > > g++ -shared -Wl,-soname,libGLU.so libutil/*.o libtess/*.o etc. > > Fixing this would require big change the GNUmakefile and included files > in the ogl-sample package. I didn't do it because I was afraid of > breaking other things (in the build of other libraries than GLU). When you build the libGLU.so shared library, could you add -lg++ (the C++ runtime lib) to the list of objects? That way, libGLU.so would be implicitly linked to libg++.so, so hopefully the end-user could use the regular gcc linker. > Anyway, I did all that with the downloadable tarball of ogl-sample > (ogl-sample-20000126.tgz) because I was unable to get the CVS source > tree version (apparently, there is a broken link on the web page). > > Any help or advices greatly appreciated. Here's how I get the ogl-sample CVS files: % cvs -d:pserver:cv...@os...:/cvs login password is cvs % cvs -d:pserver:cv...@os...:/cvs co projects/ogl-sample/main -Brian |