[GRASSLIST:4025] More OGR lib compile fun

After guessing that the compilation error messages such as:

OBJ.i686-pc-linux-gnu/describe.o(.text+0x3f):/home/bob/grass-5.7.0/db/drivers/ogr/describe.c:33: undefined reference to `OGR_DS_GetLayer'

might have something to do with a library not found, I tried this:

sudo cp lib/libgdal.so* /usr/local/pgsql/lib
sudo cp lib/libgdal.so* /usr/local/lib
sudo cp include/ogr_api.h /usr/local/include

Still no luck. FYI I'm doing:

~/grass-5.7.0/db/drivers/ogr> make

to speed things up a bit. Any idea what I might be messing up here? Am
unable to find any help on the web or in the manuals, so this must be
a truly obvious problem ...

--
Adios,
Chris Cornuelle
bob at xmission dot com

How GDALLIBS, GDALCFLAGS and USE_OGR is set
in grass51/include/Make/Platform.make ?

Radim

On Monday 26 July 2004 23:26, C.S. Cornuelle wrote:

After guessing that the compilation error messages such as:

OBJ.i686-pc-linux-gnu/describe.o(.text+0x3f):/home/bob/grass-5.7.0/db/drive
rs/ogr/describe.c:33: undefined reference to `OGR_DS_GetLayer'

might have something to do with a library not found, I tried this:

sudo cp lib/libgdal.so* /usr/local/pgsql/lib
sudo cp lib/libgdal.so* /usr/local/lib
sudo cp include/ogr_api.h /usr/local/include

Still no luck. FYI I'm doing:

~/grass-5.7.0/db/drivers/ogr> make

to speed things up a bit. Any idea what I might be messing up here? Am
unable to find any help on the web or in the manuals, so this must be
a truly obvious problem ...

Radim,

In grass-5.7.0/include/Make/Platform.make we have:

gdal/OGR
GDALLIBS = -ldl
GDALCFLAGS =
USE_OGR =

FYI:

/usr/lib> ls libdl*
libdl.a libdl.so@

However, during configure I did:

CFLAGS="-g -Wall" ./configure --without-fftw --without-gdal --without-opengl --with-postgres-includes="/usr/local/pgsql/include" --with-postgres-libs="/usr/local/pgsql/lib"

and

NVIZ: no

X11 support: yes
JPEG support: yes
TIFF support: yes
PNG support: yes
Tcl/Tk support: yes
PostgreSQL support: yes
MySQL support: no
OpenGL(R) support: no
ODBC support: yes
FFTW support: no
BLAS support: no
LAPACK support: no
Motif support: no
FreeType support: no
GLw support: no
NLS support: no
Readline support: no
C++ support: no
openDWG support: no
GDAL support: no
OGR support: no

So since I attempted to disable OGR in order to get a working grass57
executable, this seems not to have happened. Or?

Thanks. :^)

Thus spake Radim Blazek (blazek@itc.it):

How GDALLIBS, GDALCFLAGS and USE_OGR is set
in grass51/include/Make/Platform.make ?

Radim

On Monday 26 July 2004 23:26, C.S. Cornuelle wrote:
> After guessing that the compilation error messages such as:
>
> OBJ.i686-pc-linux-gnu/describe.o(.text+0x3f):/home/bob/grass-5.7.0/db/drive
>rs/ogr/describe.c:33: undefined reference to `OGR_DS_GetLayer'
>
> might have something to do with a library not found, I tried this:
>
> sudo cp lib/libgdal.so* /usr/local/pgsql/lib
> sudo cp lib/libgdal.so* /usr/local/lib
> sudo cp include/ogr_api.h /usr/local/include
>
> Still no luck. FYI I'm doing:
>
> ~/grass-5.7.0/db/drivers/ogr> make
>
> to speed things up a bit. Any idea what I might be messing up here? Am
> unable to find any help on the web or in the manuals, so this must be
> a truly obvious problem ...

--
Adios,
Chris Cornuelle
bob at xmission dot com

I have no explanation how/where '-ldl' was added to GDALLIBS.
Normally, if --with-gdal is used, it contains path to GDAL lib
and GDAL lib.

Compilation of ogr driver is conditional and it was using
  ifneq ($(strip $(GDALLIBS)),)
which I changed to
  ifneq ($(strip $(USE_OGR)),)

OGR driver is used only for external data (v.external)

Radim

On Tuesday 27 July 2004 17:10, C.S. Cornuelle wrote:

Radim,

In grass-5.7.0/include/Make/Platform.make we have:

gdal/OGR
GDALLIBS = -ldl
GDALCFLAGS =
USE_OGR =

FYI:

/usr/lib> ls libdl*
libdl.a libdl.so@

However, during configure I did:

CFLAGS="-g -Wall" ./configure --without-fftw --without-gdal
--without-opengl --with-postgres-includes="/usr/local/pgsql/include"
--with-postgres-libs="/usr/local/pgsql/lib"

Radim,

FYI I edited ~/grass-5.7.0/include/Make/Platform.make to remove
the offending '-ldl' and now compilation dies here:

...
gcc -rdynamic -L/home/bob/grass-5.7.0/dist.i686-pc-linux-gnu/lib
-L/usr/local/pgsql/lib -o
/home/bob/grass-5.7.0/dist.i686-pc-linux-gnu/etc/bin/cmd/d.path
OBJ.i686-pc-linux-gnu/main.o OBJ.i686-pc-linux-gnu/select.o
-lgrass_display -lgrass_raster -lgrass_vect -lgrass_dig2 -lgrass_dgl
-lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase
-lgrass_dgl -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis
-lgrass_datetime -lz -lm -lz
/home/bob/grass-5.7.0/dist.i686-pc-linux-gnu/lib/libgrass_vect.so:
undefined reference to `V2_close_ogr'
/home/bob/grass-5.7.0/dist.i686-pc-linux-gnu/lib/libgrass_vect.so:
undefined reference to `V2_open_old_ogr'
...

A bit of looking around and messing about did not solve anything, so
I remain stumped. :^(

Given this, I'll reinstall grass57 from scratch and try again. Please
let me know if the above errors have an easy fix. I'm guessing that
'configure' is my problem ...

Thanks.

Thus spake Radim Blazek (blazek@itc.it):

I have no explanation how/where '-ldl' was added to GDALLIBS.
Normally, if --with-gdal is used, it contains path to GDAL lib
and GDAL lib.

Compilation of ogr driver is conditional and it was using
  ifneq ($(strip $(GDALLIBS)),)
which I changed to
  ifneq ($(strip $(USE_OGR)),)

OGR driver is used only for external data (v.external)

Radim

On Tuesday 27 July 2004 17:10, C.S. Cornuelle wrote:
> Radim,
>
> In grass-5.7.0/include/Make/Platform.make we have:
>
> gdal/OGR
> GDALLIBS = -ldl
> GDALCFLAGS =
> USE_OGR =
>
> FYI:
>
> /usr/lib> ls libdl*
> libdl.a libdl.so@
>
> However, during configure I did:
>
> CFLAGS="-g -Wall" ./configure --without-fftw --without-gdal
> --without-opengl --with-postgres-includes="/usr/local/pgsql/include"
> --with-postgres-libs="/usr/local/pgsql/lib"

--
Adios,
Chris Cornuelle
bob at xmission dot com

It seems that GRASS was configure as if it had GDAL, but
definition is missing. Set your

grass51/include/Make/Platform.make:
GDALLIBS =
GDALCFLAGS =
USE_OGR =

grass51/include/config.h:
#undef HAVE_OGR

But GDAL/OGR is very useful, I recommend to install GDAL.

Radim

On Wednesday 28 July 2004 19:33, C.S. Cornuelle wrote:

Radim,

FYI I edited ~/grass-5.7.0/include/Make/Platform.make to remove
the offending '-ldl' and now compilation dies here:

...
gcc -rdynamic -L/home/bob/grass-5.7.0/dist.i686-pc-linux-gnu/lib
-L/usr/local/pgsql/lib -o
/home/bob/grass-5.7.0/dist.i686-pc-linux-gnu/etc/bin/cmd/d.path
OBJ.i686-pc-linux-gnu/main.o OBJ.i686-pc-linux-gnu/select.o
-lgrass_display -lgrass_raster -lgrass_vect -lgrass_dig2 -lgrass_dgl
-lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase
-lgrass_dgl -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis
-lgrass_datetime -lz -lm -lz
/home/bob/grass-5.7.0/dist.i686-pc-linux-gnu/lib/libgrass_vect.so:
undefined reference to `V2_close_ogr'
/home/bob/grass-5.7.0/dist.i686-pc-linux-gnu/lib/libgrass_vect.so:
undefined reference to `V2_open_old_ogr'
...

A bit of looking around and messing about did not solve anything, so
I remain stumped. :^(

Given this, I'll reinstall grass57 from scratch and try again. Please
let me know if the above errors have an easy fix. I'm guessing that
'configure' is my problem ...

Thanks.

Thus spake Radim Blazek (blazek@itc.it):
> I have no explanation how/where '-ldl' was added to GDALLIBS.
> Normally, if --with-gdal is used, it contains path to GDAL lib
> and GDAL lib.
>
> Compilation of ogr driver is conditional and it was using
> ifneq ($(strip $(GDALLIBS)),)
> which I changed to
> ifneq ($(strip $(USE_OGR)),)
>
> OGR driver is used only for external data (v.external)
>
> Radim
>
> On Tuesday 27 July 2004 17:10, C.S. Cornuelle wrote:
> > Radim,
> >
> > In grass-5.7.0/include/Make/Platform.make we have:
> >
> > gdal/OGR
> > GDALLIBS = -ldl
> > GDALCFLAGS =
> > USE_OGR =
> >
> > FYI:
> >
> > /usr/lib> ls libdl*
> > libdl.a libdl.so@
> >
> > However, during configure I did:
> >
> > CFLAGS="-g -Wall" ./configure --without-fftw --without-gdal
> > --without-opengl --with-postgres-includes="/usr/local/pgsql/include"
> > --with-postgres-libs="/usr/local/pgsql/lib"

Thanks. :^)

FYI I managed to install grass 5.3 without incident.

Thus spake Radim Blazek (blazek@itc.it):

It seems that GRASS was configure as if it had GDAL, but
definition is missing. Set your

grass51/include/Make/Platform.make:
GDALLIBS =
GDALCFLAGS =
USE_OGR =

grass51/include/config.h:
#undef HAVE_OGR

But GDAL/OGR is very useful, I recommend to install GDAL.

Radim

On Wednesday 28 July 2004 19:33, C.S. Cornuelle wrote:
> Radim,
>
> FYI I edited ~/grass-5.7.0/include/Make/Platform.make to remove
> the offending '-ldl' and now compilation dies here:
>
> ...
> gcc -rdynamic -L/home/bob/grass-5.7.0/dist.i686-pc-linux-gnu/lib
> -L/usr/local/pgsql/lib -o
> /home/bob/grass-5.7.0/dist.i686-pc-linux-gnu/etc/bin/cmd/d.path
> OBJ.i686-pc-linux-gnu/main.o OBJ.i686-pc-linux-gnu/select.o
> -lgrass_display -lgrass_raster -lgrass_vect -lgrass_dig2 -lgrass_dgl
> -lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase
> -lgrass_dgl -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis
> -lgrass_datetime -lz -lm -lz
> /home/bob/grass-5.7.0/dist.i686-pc-linux-gnu/lib/libgrass_vect.so:
> undefined reference to `V2_close_ogr'
> /home/bob/grass-5.7.0/dist.i686-pc-linux-gnu/lib/libgrass_vect.so:
> undefined reference to `V2_open_old_ogr'
> ...
>
> A bit of looking around and messing about did not solve anything, so
> I remain stumped. :^(
>
> Given this, I'll reinstall grass57 from scratch and try again. Please
> let me know if the above errors have an easy fix. I'm guessing that
> 'configure' is my problem ...
>
> Thanks.
>
> Thus spake Radim Blazek (blazek@itc.it):
> > I have no explanation how/where '-ldl' was added to GDALLIBS.
> > Normally, if --with-gdal is used, it contains path to GDAL lib
> > and GDAL lib.
> >
> > Compilation of ogr driver is conditional and it was using
> > ifneq ($(strip $(GDALLIBS)),)
> > which I changed to
> > ifneq ($(strip $(USE_OGR)),)
> >
> > OGR driver is used only for external data (v.external)
> >
> > Radim
> >
> > On Tuesday 27 July 2004 17:10, C.S. Cornuelle wrote:
> > > Radim,
> > >
> > > In grass-5.7.0/include/Make/Platform.make we have:
> > >
> > > gdal/OGR
> > > GDALLIBS = -ldl
> > > GDALCFLAGS =
> > > USE_OGR =
> > >
> > > FYI:
> > >
> > > /usr/lib> ls libdl*
> > > libdl.a libdl.so@
> > >
> > > However, during configure I did:
> > >
> > > CFLAGS="-g -Wall" ./configure --without-fftw --without-gdal
> > > --without-opengl --with-postgres-includes="/usr/local/pgsql/include"
> > > --with-postgres-libs="/usr/local/pgsql/lib"

--
Adios,
Chris Cornuelle
bob at xmission dot com