[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