Dear developers,
there is a question from an unexperienced user:
when compiling g51 I have the following messages:
...
v.out.ogr
make[2]: Entering directory `/home/piero/unst_g/grass51_exp_2002_11_15/vector/v.out.ogr'
gcc -L/home/piero/unst_g/grass51_exp_2002_11_15/dist.i686-pc-linux-gnu/lib -o /home/piero/unst_g/grass51_exp_2002_11_15/dist.i686-pc-linux-gnu/etc/bin/cmd/v.out.ogr OBJ.i686-pc-linux-gnu/main.o /home/piero/unst_g/grass51_exp_2002_11_15/dist.i686-pc-linux-gnu/lib/libvect.a
/home/piero/unst_g/grass51_exp_2002_11_15/dist.i686-pc-linux-gnu/lib/libdig2.a
/home/piero/unst_g/grass51_exp_2002_11_15/dist.i686-pc-linux-gnu/lib/libshape.a -lpq /home/piero/unst_g/grass51_exp_2002_11_15/dist.i686-pc-linux-gnu/lib/libbtree.a
/home/piero/unst_g/grass51_exp_2002_11_15/dist.i686-pc-linux-gnu/lib/librtree.a
/home/piero/unst_g/grass51_exp_2002_11_15/dist.i686-pc-linux-gnu/lib/liblinkm.a
/home/piero/unst_g/grass51_exp_2002_11_15/dist.i686-pc-linux-gnu/lib/libdbmi.a
/home/piero/unst_g/grass51_exp_2002_11_15/dist.i686-pc-linux-gnu/lib/libgis.a -ldl -lm -lz
OBJ.i686-pc-linux-gnu/main.o: In function `main':
/home/piero/unst_g/grass51_exp_2002_11_15/vector/v.out.ogr/main.c:145: */undefined reference to `OGRRegisterAll' /*
...
and so on for all the OGR API used in the module
...
collect2: ld returned 1 exit status
make[2]: *** [/home/piero/unst_g/grass51_exp_2002_11_15/dist.i686-pc-linux-gnu/etc/bin/cmd/v.out.ogr] Error 1
make[2]: Leaving directory `/home/piero/unst_g/grass51_exp_2002_11_15/vector/v.out.ogr'
make[1]: *** [subdirs] Error 1
make[1]: Leaving directory `/home/piero/unst_g/grass51_exp_2002_11_15/vector'
make: *** [default] Error 1
As you see the module is compiled, but it is not linked in grass51 (if linked is the correct term). (I have grass51 in the bin.arch dir, it runs, but v.out.ogr doesn't works).
I tried to watch in the Makefile (that specific for the module and those in the upper dirs) but I don't fully understand
them (or I don't understand anything, this is a point of view). For example, in the Makefile for the module, It's used the GDALCFLAGS variable. In Platform.make I have:
gdal
GDALLIBS = -ldl
GDALCFLAGS =
Pheraps I have compiled GDAL without the GRASS support, however what GDALCFLAGS represent ? It goes to EXTRA_CFLAGS so should it used to specify additional include dirs ? (I have gdal in a standard dir (specified both in /etc/ld.so.conf end in my ~/.bashrc), so probable it's correct that the field is empty).
If I configure gdal --with-grass=ARG (ARG=no or libgrass path) what does libgrass mean? (libgrass5 doesn't exist!).
(Perhaps this option is for other (than GRASS) program that must use GDAL and GRASS utilities?)
Thanks for the patient of all the list members.
Piero