[GRASS5] Re: 2 bug fixes for recent experimental release
Glynn Clements
glynn.clements at virgin.net
Mon Apr 29 15:24:47 EDT 2002
Markus Neteler wrote:
> > Also, in r3.showdspf.openGL the following library has to be added to
> > Gmakefile in order to get compilation without errors: -lGLw
>
> I assume that the problem is elsewhere since no longer hardcoded
> library names should be used (portability). This is defined
> by "configure".
A while back, the setting of LGLWM (libGLw[M]) was removed from
configure, because it wasn't being used by any of the enabled modules.
A configure test is problematic because there are so many permutations
of this library[1], and it exports so few symbols:
$ nm /usr/X11R6/lib/libGLwM.a | fgrep ' T '
00000750 T GLwCreateM1DrawingArea
00000750 T GLwCreateM2DrawingArea
00000000 T GLwDrawingAreaMakeCurrent
00000020 T GLwDrawingAreaSwapBuffers
$ nm /usr/local/lib/libGLw.a | fgrep ' T '
00000a5c T GLwDrawingAreaMakeCurrent
00000a80 T GLwDrawingAreaSwapBuffers
00000b94 T GLwCreateMDrawingArea
$ nm /usr/src/Mesa-3.4.1/lib/libGLw.a | fgrep ' T '
00000888 T GLwDrawingAreaMakeCurrent
000008b4 T GLwDrawingAreaSwapBuffers
Older versions only define GLwCreateMDrawingArea, while newer versions
have the two GLwCreateM?DrawingArea symbols, and GLwCreateMDrawingArea
is a macro which expands to one of those two symbols depending upon
the Motif version. But the autoconf AC_CHECK_LIB() test doesn't work
with macros.
The other two symbols are also exported by a non-Motif version of the
library, which won't work with r3.showdspf.openGL.
[1] Ihe SGI version, from either Mesa-x.x/widgets-sgi or XFree86 4.0,
is called libGLw.a, and includes both Motif and non-Motif widgets. The
Mesa version, from Mesa-x.x/widgets-mesa, is split into lib[Mesa]GLw.a
(non-Motif) and lib[Mesa]GLwM.a (Motif), and they may be called either
libGLw* or libMesaGLw*.
--
Glynn Clements <glynn.clements at virgin.net>
More information about the grass-dev
mailing list