[GRASS5] Gmakefiles - $(VECTLIB) question

Markus Neteler neteler at geog.uni-hannover.de
Thu Jan 4 04:03:34 EST 2001


On Wed, Jan 03, 2001 at 08:30:58PM +0100, Radim Blazek wrote:
> 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) 
> 
Hi Radim,

still I think that such double call is unusual (maybe I am wrong and it's
common). I have been posting this here to indicate that *maybe* something
referenced incorrectly within GRASS vector libs.
If you think that's o.k. then I will keep these double entries. Is that
documented somewhere?

Markus

---------------------------------------- 
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