Problem loading extensions

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Problem loading extensions

Ross Boylan
I changed methods that loaded primitives to use a different name, e.g.,
!OGLExtManager class methodsFor: 'GL_ARB_transpose_matrix' stamp: 'bf
5/3/2006 11:28'!
 glLoadTransposeMatrixf: m
 
     "This method was automatically generated."
     "void glLoadTransposeMatrixf(GLfloat* m);"
     <apicall: void 'glLoadTransposeMatrixfARB' (float*) > " was
'glLoadTransposeMatrixf'"
     ^self externalCallFailed
 " ^self ogl glLoadMatrixf: m transposed."
 ! !

This was a fix suggested by http://bugs.squeak.org/view.php?id=6338,
inspired by the fact that without it the image wouldn't start because
glLoadTransposeMatrixf could't be found.

However, when I try to launch a Croquet (Cobalt) Master, the new code
fails too.  In OpenGL>>extensions the line
extensions := (self glGetString: GLExtensions) fromCString
produces a failure while trying to evaluate fromCString, I presume
because it is being addressed to invalid external memory.

I suspected some initialization might be necessary to get the addresses
of the new methods (glLoadTransposeMatrixfARB), so I tried
OGLExtManager initialize, but this failed as before.

Both the symbols glLoadTransposeMatrixf and glLoadTransposeMatrixfARB
seem to be in libGL.so (using emacs; nm says there are no symbols).

I'm running on Linux, Pentium 4 with the nvidia proprietary driver.  My
image started as cobalt20081125, with the change noted above and fileins
for FreeCAD.

I initially succeeded in getting things to work (sort of) without the
glLoad... changes, but ran into trouble when I attempted to restart an
image that had the FreeCAD master world opened.

Any suggestions?

Thanks.
Ross Boylan