ogl-sample
[Top] [All Lists]

[ogl-sample] SGI SI GLU integration

To: mesa3d-dev@xxxxxxxxxxxxxxxxxxxxx
Subject: [ogl-sample] SGI SI GLU integration
From: Olivier Michel <Olivier.Michel@xxxxxxxxxxxxxxx>
Date: Wed, 28 Jun 2000 16:21:16 +0200
Cc: ogl-sample@xxxxxxxxxxx
Organization: Cyberbotics Ltd.
References: <Pine.SGI.3.96.1000627090303.24381L-100000@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Reply-to: ogl-sample@xxxxxxxxxxx
Sender: owner-ogl-sample@xxxxxxxxxxx
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)

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

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).

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.

-Olivier

<Prev in Thread] Current Thread [Next in Thread>