[GRASS-dev] GDAL-GRASS plugin

Hi all,

I got a strange message, If I try to use gdal from shell (or from
GRASS, using r.in.gdal), I got:

{{{
gdalinfo --help
ERROR 1: libgrass_I.so: cannot open shared object file: No such file
or directory
ERROR 1: libgrass_I.so: cannot open shared object file: No such file
or directory
Usage: gdalinfo [--help-general] [-mm] [-stats] [-hist] [-nogcp] [-nomd]
                [-norat] [-noct] [-nofl] [-checksum] [-proj4] [-mdd domain]*
                [-sd subdataset] datasetname
}}}

I saw:

http://grasswiki.osgeo.org/wiki/Compile_and_install_GDAL-GRASS_plugin

the link to get the GDAL/OGR-GRASS plugin bring to
http://download.osgeo.org/gdal/ where the lastest version is
gdal-grass-1.4.3.tar.gz, but if I look at OSGeo4W, see
http://download.osgeo.org/osgeo4w/release/grass/gdal-grass/
you can see that the last version should be
http://download.osgeo.org/osgeo4w/release/grass/gdal-grass/gdal-grass-1.5.4-4.tar.bz2,
but it seems empty to me...
Which one should I use?

Moreover "A script to configure/install easily can be found here", the link:

http://mpa.itc.it/markus/useful/conf_install_gdal_ogr_grass_plugin.sh

it seems broken.

Trying to compile the gdal-grass:

gdal-grass-1.4.3 $ ./configure --with-grass=$GISBASE
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for ranlib... ranlib
checking for g++ -shared ... yes
checking for gdal-config... /usr/bin/gdal-config
using /usr/lib/gdalplugins as GDAL shared library autoload directory
checking for G_asprintf in -lgrass_gis... no
configure: error:
--with-grass=/home/pietro/docdat/src/gis/grass/grass_trunk/dist.x86_64-unknown-linux-gnu
requested, but libraries not found! Perhaps you need to set
LD_LIBRARY_PATH to include
/home/pietro/docdat/src/gis/grass/grass_trunk/dist.x86_64-unknown-linux-gnu/lib?

But the LD_LIBRARY_PATH global environment it seems to be set correctly:

gdal-grass-1.4.3 $ echo $LD_LIBRARY_PATH
:/home/pietro/.local/lib:/home/pietro/docdat/src/gis/grass/grass_trunk/dist.x86_64-unknown-linux-gnu/lib

Any ideas how to solve this issue?

Thank you for your help.

Pietro

On Tue, Oct 8, 2013 at 2:21 PM, Pietro <peter.zamb@gmail.com> wrote:

Hi all,

I got a strange message,

Not strange :slight_smile: See below...

If I try to use gdal from shell (or from
GRASS, using r.in.gdal), I got:

gdalinfo --help
ERROR 1: libgrass_I.so: cannot open shared object file: No such file or directory

This means that the path to "libgrass_I.so" is missing from LD_LIBRARY_PATH.

I saw:

http://grasswiki.osgeo.org/wiki/Compile_and_install_GDAL-GRASS_plugin

I have updated the troubleshooting for this:

http://grasswiki.osgeo.org/wiki/Compile_and_install_GDAL-GRASS_plugin#ERROR_1:_libgrass_I.so:_cannot_open_shared_object_file:_No_such_file_or_directory

the link to get the GDAL/OGR-GRASS plugin bring to
http://download.osgeo.org/gdal/ where the lastest version is
gdal-grass-1.4.3.tar.gz, but if I look at OSGeo4W, see
http://download.osgeo.org/osgeo4w/release/grass/gdal-grass/
you can see that the last version should be
http://download.osgeo.org/osgeo4w/release/grass/gdal-grass/gdal-grass-1.5.4-4.tar.bz2,
but it seems empty to me...
Which one should I use?

Empty = bug but it would be a windows binary anyway.

You have everything ok I believe except "trick" indicated in the
Troubleshooting section.

Moreover "A script to configure/install easily can be found here", the link:

http://mpa.itc.it/markus/useful/conf_install_gdal_ogr_grass_plugin.sh

it seems broken.

Right, updated to
http://www.grassbook.org/neteler/useful/conf_install_gdal_ogr_grass_plugin.sh

Trying to compile the gdal-grass:

gdal-grass-1.4.3 $ ./configure --with-grass=$GISBASE
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for ranlib... ranlib
checking for g++ -shared ... yes
checking for gdal-config... /usr/bin/gdal-config
using /usr/lib/gdalplugins as GDAL shared library autoload directory
checking for G_asprintf in -lgrass_gis... no
configure: error:
--with-grass=/home/pietro/docdat/src/gis/grass/grass_trunk/dist.x86_64-unknown-linux-gnu
requested, but libraries not found! Perhaps you need to set
LD_LIBRARY_PATH to include
/home/pietro/docdat/src/gis/grass/grass_trunk/dist.x86_64-unknown-linux-gnu/lib?

But the LD_LIBRARY_PATH global environment it seems to be set correctly:

gdal-grass-1.4.3 $ echo $LD_LIBRARY_PATH
:/home/pietro/.local/lib:/home/pietro/docdat/src/gis/grass/grass_trunk/dist.x86_64-unknown-linux-gnu/lib

Any ideas how to solve this issue?

Create the file
/etc/ld.so.conf.d/grass6.conf
containing the path to the lib directory, then "ldconfig".

Markus