[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