[GRASS5] Re: NVIZ compile problem

Bob Covill bcovill at tekmap.ns.ca
Fri May 2 13:25:28 EDT 2003


Hi Paul,

It looks like you are right. The glXGetCurrentDisplay is a newer 
function and requires GLX version 1.2 or greater. This is the same 
problem I ran into with the off-screen rendering stuff. If you enable 
the OS_RENDER compile flag you will probably get errors from gsd_prim.c 
as well.

Like you say we need a better test for each of these functions to 
determine the compatible function to use. Or to find an alternative to 
the glX library?


Paul Kelly wrote:
> Hello Bob,
> After updating to the latest NVIZ source I get the following compile error
> on IRIX 6.2:
> 
> #################################################################
> /indigo-disk2/grass/grass/src.contrib/GMSL/NVIZ2.2/src
>   make -f OBJ.mips-sgi-irix6.2/make.rules
> 
> make[1]: Entering directory `/indigo-disk2/grass/grass/src.contrib/GMSL/NVIZ2.2/src'
> cc  -L/indigo-disk2/grass/grass/src/libes/LIB.mips-sgi-irix6.2 -L/indigo-disk2/grass/doom.ee.qub.ac.uk/lib -o nvwish OBJ.mips-sgi-irix6.2/nvizAppInit.o OBJ.mips-sgi-irix6.2/change_view.o OBJ.mips-sgi-irix6.2/draw.o OBJ.mips-sgi-irix6.2/exag.o OBJ.mips-sgi-irix6.2/glwrappers.o OBJ.mips-sgi-irix6.2/init_commands.o OBJ.mips-sgi-irix6.2/lights.o OBJ.mips-sgi-irix6.2/map_obj.o OBJ.mips-sgi-irix6.2/misc.o OBJ.mips-sgi-irix6.2/nviz_init.o OBJ.mips-sgi-irix6.2/position.o OBJ.mips-sgi-irix6.2/quick_draw.o OBJ.mips-sgi-irix6.2/anim_support.o OBJ.mips-sgi-irix6.2/cutplane_obj.o OBJ.mips-sgi-irix6.2/script_support.o OBJ.mips-sgi-irix6.2/do_zoom.o OBJ.mips-sgi-irix6.2/label.o OBJ.mips-sgi-irix6.2/nvizMain.o OBJ.mips-sgi-irix6.2/togl.o OBJ.mips-sgi-irix6.2/togl_cb.o OBJ.mips-sgi-irix6.2/query_postgr.o OBJ.mips-sgi-irix6.2/openvect.o OBJ.mips-sgi-irix6.2/getCat.o OBJ.mips-sgi-irix6.2/buildPg.o OBJ.mips-sgi-irix6.2/runPg.o /indigo-disk2/grass/grass/src/libes/ogsf/LIB.mips-sgi-irix6.2/libgs
f.a /indigo-disk2/grass/grass/src/libes/libimage/LIB.mips-sgi-irix6.2/libimage.a \
> -lbitmap -llinkm -lvect -ldig2 \
> -lgis   /indigo-disk2/grass/doom.ee.qub.ac.uk/lib/LIB.mips-sgi-irix6.2/libsnprintf.a -lm  -lz  \
> -ldatetime  -L/indigo-disk2/grass/doom.ee.qub.ac.uk/lib -ltk -lm  -ltcl -lm -lGLU  -lGL   -lSM -lICE -lX11 -lXmu -lXext -lm   -lz       -ltiff  -lSM -lICE -lX11
> ld: WARNING 84: /usr/lib/libSM.so is not used for resolving any symbol.
> ld: WARNING 84: /indigo-disk2/grass/doom.ee.qub.ac.uk/lib/libz.a is not used for resolving any symbol.
> ld: ERROR 33: Unresolved text symbol "glXGetCurrentDisplay" -- 1st referenced by /indigo-disk2/grass/grass/src/libes/ogsf/LIB.mips-sgi-irix6.2/libgsf.a(gsd_fonts.o).
> ld: INFO 152: Output file removed because of error.
> make[1]: *** [nvwish] Error 1
> make[1]: Leaving directory `/indigo-disk2/grass/grass/src.contrib/GMSL/NVIZ2.2/src'
> make: *** [nvwish] Error 2
> 
> I think I have a bit of an idea what's going on:
> The function used is an extension to the standard OpenGL functionality
> (hence the glX prefix) and the extension functions have non-standard names
> that are different on different platforms. E.g. in /usr/local/include/GL/glx.h
> I have
> extern Display * glXGetCurrentDisplayEXT (void);
> i.e. the function has a non-standard suffix.
> 
> I found the following document which seems to explain the whole thing
> quite well:
> http://developer.nvidia.com/docs/IO/1377/ATT/GDC2K_ogl_extensions.pdf
> e.g. you may have to use the glGetString() function to find out what the
> exact name is for a particular extension function before calling it.
> Or something like that. Sorry I haven't got more time to look into it at
> the minute....
> 
> Paul
> 
> 
> 

-- 
Bob Covill

Tekmap Consulting
P.O. Box 2016
Fall River, N.S.
B2T 1K6
Canada

E-Mail: bcovill at tekmap.ns.ca
Phone: 902-860-1496
Fax: 902-860-1498




More information about the grass-dev mailing list