[GRASS-dev] GRASS 8.0 support in GDAL and QGIS

Sebastiaan Couwenberg sebastic at xs4all.nl
Thu Feb 24 00:33:18 PST 2022


Now that 7.8.7 has been released, I started looking into updating the 
Debian package to 8.0.x which requires rebuilding libgdal-grass and qgis.

Initial tests with libgdal-grass are not promising. Both gdalinfo and 
ogrinfo show errors because not all libraries are linked. We saw this 
too when 7.2 was released: https://trac.osgeo.org/gdal/ticket/6785

The attached patch helps to some extent, but does not resolve all 
issues. ogrinfo still shows errors:

# ogrinfo -ro -so /tmp/spearfish60_grass7/PERMANENT/vector/roads/head 

Warning 1: GRASS warning: GISBASE environment variable was not set, using:
/usr/lib/grass80
/usr/lib/grass80/driver/db/sqlite: error while loading shared libraries: 
libgrass_dbmidriver.8.0.so: cannot open shared object file: No such file 
or directory
dbmi: Protocol error
Warning 1: GRASS warning: Unable to start driver <sqlite>
ERROR 1: Cannot open database sqlite by driver 
/tmp/spearfish60_grass7/PERMANENT/sqlite/sqlite.db, check if GISBASE 
environment variable is set, the driver is available  and the database 
is accessible.
INFO: Open of `/tmp/spearfish60_grass7/PERMANENT/vector/roads/head'
       using driver `OGR_GRASS' successful.
1: roads (Line String)

The grass drivers lacks the RPATH that was set for ogr_GRASS:

# objdump -x /usr/lib/gdalplugins/ogr_GRASS.so | egrep "NEEDED|RUNPATH"
   NEEDED               libgrass_vector.8.0.so
   NEEDED               libgrass_dig2.8.0.so
   NEEDED               libgrass_dgl.8.0.so
   NEEDED               libgrass_rtree.8.0.so
   NEEDED               libgrass_linkm.8.0.so
   NEEDED               libgrass_dbmiclient.8.0.so
   NEEDED               libgrass_dbmibase.8.0.so
   NEEDED               libgrass_dbmidriver.8.0.so
   NEEDED               libgrass_dbstubs.8.0.so
   NEEDED               libgrass_raster.8.0.so
   NEEDED               libgrass_imagery.so
   NEEDED               libgrass_gproj.8.0.so
   NEEDED               libgrass_gmath.8.0.so
   NEEDED               libgrass_gis.8.0.so
   NEEDED               libgrass_datetime.8.0.so
   NEEDED               libgrass_btree2.8.0.so
   NEEDED               libgrass_ccmath.8.0.so
   NEEDED               libgdal.so.30
   NEEDED               libstdc++.so.6
   NEEDED               libm.so.6
   NEEDED               libgcc_s.so.1
   NEEDED               libc.so.6
   RUNPATH              /usr/lib/grass80/lib

# objdump -x /usr/lib/grass80/driver/db/sqlite | egrep "NEEDED|RUNPATH"
   NEEDED               libgrass_dbmidriver.8.0.so
   NEEDED               libgrass_dbmibase.8.0.so
   NEEDED               libgrass_gis.8.0.so
   NEEDED               libsqlite3.so.0
   NEEDED               libc.so.6

Should we perhaps take this opportunity to move the grass libraries to 
default library search paths as raised on the debian-gis list?

  https://lists.debian.org/debian-gis/2021/12/msg00023.html

Has any work been done testing and patching gdal-grass and qgis for 
GRASS 8 yet?

Kind Regards,

Bas

-- 
  GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: grass80.patch
Type: text/x-patch
Size: 2093 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20220224/f28469ea/attachment.bin>


More information about the grass-dev mailing list