[GRASS5] NVIZ compile problem

Paul Kelly paul-grass at stjohnspoint.co.uk
Fri May 2 12:37:54 EDT 2003


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/libgsf.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




More information about the grass-dev mailing list