[GRASS5] Gmakefiles - $(VECTLIB) question

Radim Blazek Radim.Blazek at dhv.cz
Wed Jan 3 14:30:58 EST 2001


Markus Neteler wrote:
> Hi all,
> 
> a somewhat strange thing I found in r.in.shape Gmakefile:
> 
> Using the LIBES line like that:
> LIBES=$(VECTLIB) $(GISLIB) $(VASK) $(DATETIMELIB)
> 
> I get this compilation error:
> gcc -s  -o
> /home/neteler/ggg/dist.i686-pc-linux-gnu/etc/bin/contrib/cmd/r.in.shape
> OBJ.i686-pc-linux-gnu/main.o
> /home/neteler/ggg/src/libes/LIB.i686-pc-linux-gnu/libvect.a
> /home/neteler/ggg/src/libes/LIB.i686-pc-linux-gnu/libdig2.a
> /home/neteler/ggg/src/libes/LIB.i686-pc-linux-gnu/libgis.a
> /home/neteler/ggg/src/libes/LIB.i686-pc-linux-gnu/libvask.a -lncurses
> /home/neteler/ggg/src/libes/LIB.i686-pc-linux-gnu/libdatetime.a
> /home/neteler/ggg/src/libes/vect32_64/shapelib-1.2.8/LIB.i686-pc-linux-gnu/libshape.a
> -lm  -lz 
> /home/neteler/ggg/src/libes/LIB.i686-pc-linux-gnu/libdig2.a(chk_inside.o):
> In function 'dig_point_in_area':
> /home/neteler/ggg/src/libes/vect32/diglib/chk_inside.c:56: undefined
> reference to 'V2_read_line'
> collect2: ld returned 1 exit status
> make: ***
> [/home/neteler/ggg/dist.i686-pc-linux-gnu/etc/bin/contrib/cmd/r.in.shape]
> Error 1
> 
> 
> If I change the LIBES line to
> LIBES=$(VECTLIB) $(VECTLIB) $(GISLIB) $(VASK) $(DATETIMELIB)
>                  ^^^^^^^^^^
> 
> it is compiling o.k. I guess that's not correct, somewhere a reference is
> missing. Although looking at
> src/CMD/generic/make.mid
> 
> I don't get an idea. Other modules having the same problem are:
> ./mapdev/v.build/Gmakefile
> ../mapdev/v.spag/Gmakefile
> ../mapdev/v.what/cmd/Gmakefile
> 
> Any comment is welcome!
> 
>  Markus

I don't know how linker works but:
Note: VECTLIB = VECTLIB_REAL(Vlib) DIG2LIB(diglib)

Some functions from VECTLIB_REAL call functions from DIG2LIB
and some functions from DIG2LIB call functions from VECTLIB_REAL

In r.in.shape  dig_point_in_poly() from DIG2LIB is in chk_inside.o which contains
dig_point_in_area() also which calls  V2_read_line() from VECTLIB_REAL which
calls some functions from DIG2LIB. 
Then LIBES must contain:
 $(DIG2LIB) $(VECTLIB_REAL) $(DIG2LIB) 

Radim





---------------------------------------- 
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo at geog.uni-hannover.de with
subject 'unsubscribe grass5'



More information about the grass-dev mailing list