[GRASSLIST:2290] example plot_raster_map aus progmangrass (p.264)
Daniel Isenegger
disen at geo.unizh.ch
Tue Jan 20 05:12:56 EST 2004
Hi there,
I tried to implement the example plot_raster_map aus progmangrass
(p.264) to get used to the C-programming in GRASS.
I use a source code installation of grass 5.0.3 on a linux Suse 8.2
After several iteration of the Gmakefile and the plot_raster_map I
allways get a hell of an error stack which starts with:
./bin/gmake5
SRC =
/data/gis/nfp48/nfp48/ipodlas0.1/grass/grass5sources/grass-5.0.3/src
CMD =
/data/gis/nfp48/nfp48/ipodlas0.1/grass/grass5sources/grass-5.0.3/src/CMD
UNUSED =
/data/gis/nfp48/nfp48/ipodlas0.1/grass/grass5sources/grass-5.0.3/unused
HEADER = head.i686-pc-linux-gnu
ARCH = i686-pc-linux-gnu
GISBASE =
/home/gis/disen/links/ipodlas0.1/grass/grass5sources/grass-5.0.3/dist.i686-pc-linux-gnu
VERSION = 5.0.3 October 2003
#################################################################
/data/gis/nfp48/nfp48/ipodlas0.1/grass
make -f OBJ.i686-pc-linux-gnu/make.rules
gcc
-I/data/gis/nfp48/nfp48/ipodlas0.1/grass/grass5sources/grass-5.0.3/src/include
-g -O2 -I
/data/gis/nfp48/nfp48/ipodlas0.1/grass/grass5sources/grass-5.0.3/src/include
-c plotRasterMap.c -o OBJ.i686-pc-linux-gnu/plotRasterMap.o
gcc
-L/data/gis/nfp48/nfp48/ipodlas0.1/grass/grass5sources/grass-5.0.3/src/libes/LIB.i686-pc-linux-gnu
-o ctest OBJ.i686-pc-linux-gnu/ctest.o
OBJ.i686-pc-linux-gnu/plotRasterMap.o -lgis -lraster -ldisplay -lI
-lvask -lz
/data/gis/nfp48/nfp48/ipodlas0.1/grass/grass5sources/grass-5.0.3/src/libes/LIB.i686-pc-linux-gnu/libgis.a(color_range.o)(.text+0xc2):
In function `G_get_color_range':
/data/gis/nfp48/nfp48/ipodlas0.1/grass/grass5sources/grass-5.0.3/src/libes/gis/color_range.c:46:
undefined reference to `floor'/
the test code looks like this:
/* Versuch: rastermap von Grass aus zu zeichnen */
#include "gis.h" // Grass-lib einbinden
plot_raster_map(char *name,char *mapset,int overlay) {
struct Colors colors;
CELL *raster;
int row, fd, top, bottom, left, right;
/* perform plotting setup */
D_setup(!overlay);
D_get_screen_window(&top, &bottom, &left, &right);
if (D_cell_draw_setup(&top, &bottom, &left, &right)) //ERROR
raster = G_allocate_cell_buf( );
/* open raster map, read and set the colors */
// neu eingefuegt
int init = G_init_colors(&colors);
int color_table = G_read_colors(name, mapset,&colors);
if((fd = G_open_cell_old (name, mapset)) < 0) // ERROR
if(G_read_colors (name, mapset, &colors) < 0) //ERROR
D_set_colors(&colors);
/* plot */
D_set_overlay_mode(overlay);
for(row=0; row >= 0; ) {
if (G_get_map_row(fd, raster, row) < 0) //ERROR
row = D_draw_cell(row, raster, &colors);
}
G_close_cell(fd);
G_free_colors(&colors);
G_free(raster);
}
the Gmakefile like this:
HOME=$(BIN_CMD)
# include der dirs, zb hier ist gis.h
EXTRA_CFLAGS= -I
/data/gis/nfp48/nfp48/ipodlas0.1/grass/grass5sources/grass-5.0.3/src/include
# einbinden der libs: e.g. D_ are in DISPLAYLIB
LIBES= $(GISLIB) $(RASTERLIB) $(DISPLAYLIB) $(IMAGERYLIB) $(VASKLIB) $(VASK)
DEPLIBES= $(DEPIMAGERYLIB) $(DEPGISLIB) $(DEPVASKLIB) $(DEPVASK)
OBJ = ctest.o plotRasterMap.o
ctest: $(OBJ) $(LIBES) $(DEPLIBS)
$(CC) $(LDFLAGS) -o $@ $(OBJ) $(LIBES) $(XDRLIB)
$(LIST): global.h
$(GISLIB): #in case of library changes
$(RASTERLIB):
$(DISPLAYLIB): #muss auch hier aufgefuehrt sein, wenn unter LIBES
aufgefuehrt
$(LIBES):
$(DEPLIBS):
did forget to include a module?
can anybody tell me how to go on?
Thanxs for any advice Dani isenegger
ps the status after the installation was;
GRASS is now configured for i686-pc-linux-gnu
Source directory:
/data/gis/nfp48/nfp48/ipodlas0.1/grass/grass5sources/grass-5.0.3
Build directory:
/home/gis/disen/links/ipodlas0.1/grass/grass5sources/grass-5.0.3
Installation directory: /data/gis/nfp48/nfp48/ipodlas0.1/grass/grass5
C compiler: gcc -g -O2
FORTRAN compiler: g77
NVIZ: yes
X11 support: yes
DBM support: no
JPEG support: yes
TIFF support: yes
PNG support: yes
GD support: no
Tcl/Tk support: yes
PostgreSQL support: yes
OpenGL(R) support: yes
ODBC support: yes
FFTW support: no
BLAS support: no
LAPACK support: no
Motif support: no
FreeType support: no
GLw support: no
NLS support: no
Readline support: no
More information about the grass-user
mailing list