[GRASS5] Vect_get_point_in_poly

Markus Neteler neteler at itc.it
Thu Aug 2 11:18:51 EDT 2001


Hi Francisco,

On Mon, Jul 30, 2001 at 12:56:12PM +0200, Francisco Alonso Sarria wrote:
> 
> Hi folks:
> 
> I've tried to use the function Vect_get_point_in_poly to develop a module
> in a linux machine and obtained the next messages:
> 
> 
> /scsi2/grass5.0.0pre1/src/CMD
> /scsi2/grass5.0.0pre1/src
> head.i686-pc-linux-gnu
>   SRC     = /scsi2/grass5.0.0pre1/src
>   CMD     = /scsi2/grass5.0.0pre1/src/CMD
>   UNUSED  = 
>   HEADER  = head.i686-pc-linux-gnu
>   ARCH    = i686-pc-linux-gnu
>   GISBASE = /scsi2/grass5.0.0pre1/dist.i686-pc-linux-gnu
>   VERSION = 5.0.0pre1 May 2001 
> #################################################################
> /scsi2/grass5.0.0pre1/src.paco/mapdev/v.in.bna
>   make -f OBJ.i686-pc-linux-gnu/make.rules 
> 
> gcc -s  -o
> /scsi2/grass5.0.0pre1/dist.i686-pc-linux-gnu/etc/bin/cmd/v.in.bna
> OBJ.i686-p
> -linux-gnu/main.o
> /scsi2/grass5.0.0pre1/src/libes/LIB.i686-pc-linux-gnu/libvect.a /scs
> 2/grass5.0.0pre1/src/libes/LIB.i686-pc-linux-gnu/libdig2.a
> /scsi2/grass5.0.0pre1/src/li
> es/LIB.i686-pc-linux-gnu/libgis.a
> /scsi2/grass5.0.0pre1/src/libes/LIB.i686-pc-linux-gnu
> libdisplay.a
> /scsi2/grass5.0.0pre1/src/libes/LIB.i686-pc-linux-gnu/libraster.a /scsi2/g
> ass5.0.0pre1/src/libes/LIB.i686-pc-linux-gnu/libcoorcnv.a -lm
> -I/usr/include  -L/usr/l
> b -lz 
> /scsi2/grass5.0.0pre1/src/libes/LIB.i686-pc-linux-gnu/libvect.a(poly.o):
> In function `V
> ct_get_point_in_poly':
> /scsi2/grass5.0.0pre1/src/libes/vect32/Vlib/poly.c:182: undefined
> reference to `link_ext_on_error'
> /scsi2/grass5.0.0pre1/src/libes/vect32/Vlib/poly.c:183: undefined
> reference to `link_int'
> /scsi2/grass5.0.0pre1/src/libes/vect32/Vlib/poly.c:187: undefined
> reference to `link_new'
> /scsi2/grass5.0.0pre1/src/libes/vect32/Vlib/poly.c:188: undefined
> reference to `link_new'
> /scsi2/grass5.0.0pre1/src/libes/LIB.i686-pc-linux-gnu/libvect.a(poly.o):
> In function `Vect__divide_and_conquer':
> /scsi2/grass5.0.0pre1/src/libes/vect32/Vlib/poly.c:240: undefined
> reference to `link_new'
> /scsi2/grass5.0.0pre1/src/libes/LIB.i686-pc-linux-gnu/libvect.a(poly.o):
> In function `destroy_links':
> /scsi2/grass5.0.0pre1/src/libes/vect32/Vlib/poly.c:277: undefined
> reference to `link_dispose'
> collect2: ld returned 1 exit status
> make: ***
> [/scsi2/grass5.0.0pre1/dist.i686-pc-linux-gnu/etc/bin/cmd/v.in.bna] Error 
> 1
> 
> I've found the unrecognized functions in the source
> files in .../src/libes/linkm/ directory but have no idea about how make
> them easy to find from my program. 
> 
> Probably it's because my inexpertise in GRASS programming, sorry about
> that, but has anybody some idea on how to fix it.

you have to add $(LINKMLIB) to the LIBES line.

The references are stored in:
src/CMD/generic/make.mid

In your case:
LINKMLIB    = $(LIBDIR)/liblinkm.a

So with $(LINKMLIB) it may compile.

Hope this helps,

 Markus



More information about the grass-dev mailing list