[GRASS5] GRASS.1: v.out.org compilation error

Hello,

Using the latest CVS versions of GRASS5.0, GRASS5.1 and GDAL, I have
trouble compiling GRASS5.1. I get the error message below when the
compilation process reaches v.out.ogr. GDAL's files are installed in
/usr/local/lib/ and /usr/local/include/.
Can someone help me with this ?

Moritz

configure command:

CFLAGS="-g -Wall" ./configure --with-grass50=/data/GRASSCVS/grass
--with-tcltk-includes=/usr/include/tcl8.3/
--with-postgres-includes="/usr/include/postgresql/
/usr/include/postgresql/internal/" --with-readline --with-dbm
--with-includes="/usr/include/ /usr/local/include/" --with-libs="/usr/lib/
/usr/local/lib"

make output:

v.out.ogr
make[2]: Entering directory `/data/GRASSCVS/grass51/vector/v.out.ogr'
gcc -I/usr/include/ -I/usr/local/include/ -g -Wall -Wall -I/usr/include/
-I/usr/local/include/ -I/data/GRASSCVS/grass51/include
-I/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/include
-I/usr/include/postgresql/ -I/usr/include/postgresql/internal/
-I/data/GRASSCVS/grass51/include
-I/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/include \
        -o OBJ.i686-pc-linux-gnu/main.o -c main.c
/data/GRASSCVS/grass51/include/gis.h:36: warning: `GRASS_copyright'
defined but not used
gcc -L/usr/lib/ -L/usr/local/lib
-L/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib -L/usr/lib/
-L/usr/local/lib -o
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/etc/bin/cmd/v.out.ogr
OBJ.i686-pc-linux-gnu/ma
in.o /data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_vect.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_dig2.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_shape.a -lpq
  /data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_btree.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_rtree.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_linkm.a
/data
/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_dbmi.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_dbmi.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_gis.a -ldl
-lm -lz

OBJ.i686-pc-linux-gnu/main.o(.text+0x296): In function `main':
/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:145: référence indéfinie
vers « OGRRegisterAll »
OBJ.i686-pc-linux-gnu/main.o(.text+0x2a1):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:146:
référence indéfinie vers « OGRGetDriverCount »
OBJ.i686-pc-linux-gnu/main.o(.text+0x2ca):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:148:
référence indéfinie vers « OGRGetDriverCount »
OBJ.i686-pc-linux-gnu/main.o(.text+0x2df):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:149:
référence indéfinie vers « OGRGetDriver »
OBJ.i686-pc-linux-gnu/main.o(.text+0x2f6):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:150:
référence indéfinie vers « OGR_Dr_GetName »
OBJ.i686-pc-linux-gnu/main.o(.text+0x31d):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:151:
référence indéfinie vers « OGR_Dr_GetName »
OBJ.i686-pc-linux-gnu/main.o(.text+0x382):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:157:
référence indéfinie vers « OGRGetDriver »
OBJ.i686-pc-linux-gnu/main.o(.text+0x3a1):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:158:
référence indéfinie vers « OGR_Dr_CreateDataSource »
OBJ.i686-pc-linux-gnu/main.o(.text+0x3e1):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:161:
référence indéfinie vers « OGR_DS_CreateLayer »
OBJ.i686-pc-linux-gnu/main.o(.text+0x441):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:170:
référence indéfinie vers « OGR_Fld_Create »
OBJ.i686-pc-linux-gnu/main.o(.text+0x460):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:171:
référence indéfinie vers « OGR_L_CreateField »
OBJ.i686-pc-linux-gnu/main.o(.text+0x7aa):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:220:
référence indéfinie vers « OGR_Fld_Create »
OBJ.i686-pc-linux-gnu/main.o(.text+0x7c9):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:221:
référence indéfinie vers « OGR_L_CreateField »
OBJ.i686-pc-linux-gnu/main.o(.text+0x803):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:228:
référence indéfinie vers « OGR_L_GetLayerDefn »
OBJ.i686-pc-linux-gnu/main.o(.text+0x81a):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:229:
référence indéfinie vers « OGR_F_Create »
OBJ.i686-pc-linux-gnu/main.o(.text+0x972):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:253:
référence indéfinie vers « OGR_G_CreateGeometry »
OBJ.i686-pc-linux-gnu/main.o(.text+0x9ed):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:255:
référence indéfinie vers « OGR_G_AddPoint »
OBJ.i686-pc-linux-gnu/main.o(.text+0xa0b):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:257:
référence indéfinie vers « OGR_F_SetGeometry »
OBJ.i686-pc-linux-gnu/main.o(.text+0xa22):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:258:
référence indéfinie vers « OGR_L_CreateFeature »
OBJ.i686-pc-linux-gnu/main.o(.text+0xa33):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:259:
référence indéfinie vers « OGR_G_DestroyGeometry »
OBJ.i686-pc-linux-gnu/main.o(.text+0xb58):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:284:
référence indéfinie vers « OGR_G_CreateGeometry »
OBJ.i686-pc-linux-gnu/main.o(.text+0xbed):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:288:
référence indéfinie vers « OGR_G_AddPoint »
OBJ.i686-pc-linux-gnu/main.o(.text+0xd74):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:299:
référence indéfinie vers « OGR_G_AddPoint »
OBJ.i686-pc-linux-gnu/main.o(.text+0xe8e):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:310:
référence indéfinie vers « OGR_G_CreateFromWkt »
OBJ.i686-pc-linux-gnu/main.o(.text+0xea5):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:311:
référence indéfinie vers « OGR_F_SetGeometry »
OBJ.i686-pc-linux-gnu/main.o(.text+0xebc):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:313:
référence indéfinie vers « OGR_L_CreateFeature »
OBJ.i686-pc-linux-gnu/main.o(.text+0xecd):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:314:
référence indéfinie vers « OGR_G_DestroyGeometry »
OBJ.i686-pc-linux-gnu/main.o(.text+0xee8):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:318:
référence indéfinie vers « OGR_F_Destroy »
OBJ.i686-pc-linux-gnu/main.o(.text+0xef9):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:319:
référence indéfinie vers « OGR_DS_Destroy »
OBJ.i686-pc-linux-gnu/main.o(.text+0x1011): In function `mk_att':
/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:363: référence indéfinie
vers « OGR_F_UnsetField »
OBJ.i686-pc-linux-gnu/main.o(.text+0x1028):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:365:
référence indéfinie vers « OGR_F_UnsetField »
OBJ.i686-pc-linux-gnu/main.o(.text+0x110c):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:381:
référence indéfinie vers « OGR_F_SetFieldInteger »
OBJ.i686-pc-linux-gnu/main.o(.text+0x125d):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:396:
référence indéfinie vers « OGR_F_SetFieldInteger »
OBJ.i686-pc-linux-gnu/main.o(.text+0x1288):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:399:
référence indéfinie vers « OGR_F_SetFieldDouble »
OBJ.i686-pc-linux-gnu/main.o(.text+0x12ad):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:402:
référence indéfinie vers « OGR_F_SetFieldString »
OBJ.i686-pc-linux-gnu/main.o(.text+0x12eb):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:406:
référence indéfinie vers « OGR_F_SetFieldString »
OBJ.i686-pc-linux-gnu/main.o(.text+0x1308):/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:414:
référence indéfinie vers « OGR_F_SetFieldInteger »
collect2: ld returned 1 exit status
make[2]: ***
[/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/etc/bin/cmd/v.out.ogr]
Erreur 1
make[2]: Leaving directory `/data/GRASSCVS/grass51/vector/v.out.ogr'
make[1]: *** [subdirs] Erreur 1
make[1]: Leaving directory `/data/GRASSCVS/grass51/vector'
make: *** [default] Erreur 1

On Wed, May 21, 2003 at 05:14:07PM +0200, Moritz Lennert wrote:

Hello,

Using the latest CVS versions of GRASS5.0, GRASS5.1 and GDAL, I have
trouble compiling GRASS5.1. I get the error message below when the
compilation process reaches v.out.ogr. GDAL's files are installed in
/usr/local/lib/ and /usr/local/include/.
Can someone help me with this ?

Moritz

configure command:

CFLAGS="-g -Wall" ./configure --with-grass50=/data/GRASSCVS/grass
--with-tcltk-includes=/usr/include/tcl8.3/
--with-postgres-includes="/usr/include/postgresql/
/usr/include/postgresql/internal/" --with-readline --with-dbm
--with-includes="/usr/include/ /usr/local/include/" --with-libs="/usr/lib/
/usr/local/lib"

make output:

v.out.ogr
make[2]: Entering directory `/data/GRASSCVS/grass51/vector/v.out.ogr'
gcc -I/usr/include/ -I/usr/local/include/ -g -Wall -Wall -I/usr/include/
-I/usr/local/include/ -I/data/GRASSCVS/grass51/include
-I/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/include
-I/usr/include/postgresql/ -I/usr/include/postgresql/internal/
-I/data/GRASSCVS/grass51/include
-I/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/include \
        -o OBJ.i686-pc-linux-gnu/main.o -c main.c
/data/GRASSCVS/grass51/include/gis.h:36: warning: `GRASS_copyright'
defined but not used
gcc -L/usr/lib/ -L/usr/local/lib
-L/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib -L/usr/lib/
-L/usr/local/lib -o
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/etc/bin/cmd/v.out.ogr
OBJ.i686-pc-linux-gnu/ma
in.o /data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_vect.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_dig2.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_shape.a -lpq
  /data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_btree.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_rtree.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_linkm.a
/data
/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_dbmi.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_dbmi.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_gis.a -ldl
-lm -lz

OBJ.i686-pc-linux-gnu/main.o(.text+0x296): In function `main':
/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:145: référence indéfinie
vers « OGRRegisterAll »

[...]

Above -lgdal.1.1 is missing. What does

cd grass51src/
grep GDALLIBS include/Make/Platform.make

say?

Markus

Markus Neteler said:

On Wed, May 21, 2003 at 05:14:07PM +0200, Moritz Lennert wrote:

Hello,

Using the latest CVS versions of GRASS5.0, GRASS5.1 and GDAL, I have
trouble compiling GRASS5.1. I get the error message below when the
compilation process reaches v.out.ogr. GDAL's files are installed in
/usr/local/lib/ and /usr/local/include/.
Can someone help me with this ?

Moritz

configure command:

CFLAGS="-g -Wall" ./configure --with-grass50=/data/GRASSCVS/grass
--with-tcltk-includes=/usr/include/tcl8.3/
--with-postgres-includes="/usr/include/postgresql/
/usr/include/postgresql/internal/" --with-readline --with-dbm
--with-includes="/usr/include/ /usr/local/include/"
--with-libs="/usr/lib/
/usr/local/lib"

make output:

v.out.ogr
make[2]: Entering directory `/data/GRASSCVS/grass51/vector/v.out.ogr'
gcc -I/usr/include/ -I/usr/local/include/ -g -Wall -Wall
-I/usr/include/
-I/usr/local/include/ -I/data/GRASSCVS/grass51/include
-I/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/include
-I/usr/include/postgresql/ -I/usr/include/postgresql/internal/
-I/data/GRASSCVS/grass51/include
-I/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/include \
        -o OBJ.i686-pc-linux-gnu/main.o -c main.c
/data/GRASSCVS/grass51/include/gis.h:36: warning: `GRASS_copyright'
defined but not used
gcc -L/usr/lib/ -L/usr/local/lib
-L/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib -L/usr/lib/
-L/usr/local/lib -o
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/etc/bin/cmd/v.out.ogr
OBJ.i686-pc-linux-gnu/ma
in.o /data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_vect.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_dig2.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_shape.a -lpq
  /data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_btree.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_rtree.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_linkm.a
/data
/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_dbmi.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_dbmi.a
/data/GRASSCVS/grass51/dist.i686-pc-linux-gnu/lib/libgrass_gis.a -ldl
-lm -lz

OBJ.i686-pc-linux-gnu/main.o(.text+0x296): In function `main':
/data/GRASSCVS/grass51/vector/v.out.ogr/main.c:145: référence indéfinie
vers « OGRRegisterAll »

[...]

Above -lgdal.1.1 is missing. What does

cd grass51src/
grep GDALLIBS include/Make/Platform.make

say?

GDALLIBS = -ldl

On Wed, May 21, 2003 at 05:44:01PM +0200, Moritz Lennert wrote:
[...]

> Above -lgdal.1.1 is missing. What does
>
> cd grass51src/
> grep GDALLIBS include/Make/Platform.make
>
> say?
>

GDALLIBS = -ldl

Yes, this is incomplete.

Add to the configure :
--with-gdal=/usr/local/bin/gdal-config
(or wherever gdal-config is).

Then rerun configure and make.

Markus

Markus Neteler said:

On Wed, May 21, 2003 at 05:44:01PM +0200, Moritz Lennert wrote:
[...]

> Above -lgdal.1.1 is missing. What does
>
> cd grass51src/
> grep GDALLIBS include/Make/Platform.make
>
> say?
>

GDALLIBS = -ldl

Yes, this is incomplete.

Add to the configure :
--with-gdal=/usr/local/bin/gdal-config
(or wherever gdal-config is).

Then rerun configure and make.

That was it. Thanks a lot !

Moritz