[GRASS5] Vect_get_point_in_poly

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.

Thanks in advance

Paco.

====================================
= =
= Francisco Alonso Sarria =
= Departamento de Geografia =
= Universidad de Murcia =
= E-30001 Murcia SPAIN =
= =
= Telfno: +34 968 364357 =
= e-mail: alonsarp@fcu.um.es =
= =

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