Bug report #5274
QGIS rebuild really necessary for new GRASS release?
Status: | Closed | ||
---|---|---|---|
Priority: | Normal | ||
Assignee: | Radim Blazek | ||
Category: | GRASS | ||
Affected QGIS version: | master | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | upstream |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 14999 |
Description
I shipped a version of QGIS, that was built using GRASS 6.4.1. After updating to GRASS 6.4.2 without rebuilding QGIS, this error showed up:
"Incompatible library version for module. You need to rebuild GRASS or untangle
multiple installations."
This message stems from GRASS' G_gisinit function, defined in lib/gis/gisinit.c.
I wonder if the rebuild is really necessary, and, if not, the situation could be improved. I assume there are no ABI incompatibilities between 6.4.1 and 6.4.2.
Related issues
History
#1 Updated by Jürgen Fischer over 12 years ago
- Resolution set to upstream
The GRASS library checks itself. It probably has good reason not to trust its own ABI.
#2 Updated by Radim Blazek over 12 years ago
Jef is right. We cannot get around it without some terrible hack, like checking version of installed GRASS and then calling G__gisinit() with that version, or calling gisinit() directly.
It checks svn revision number not release version numbers. It seems that GRASS continues to follow its strategy "make life harder for anyone trying to use the GRASS libraries for anything except GRASS modules" (http://trac.osgeo.org/grass/ticket/869#comment:1)
To find the revision of GRASS you need, run
strings libqgisgrass.so | grep Revision
it should print something like
$Revision: 37101 $
which is the revision of GRASS you need. To check GRASS lib version, use the same
strings libgrass_gis.so | grep Revision
#3 Updated by Volker Fröhlich over 12 years ago
Thank you for clarifying further. I guess we can close this ticket.
#4 Updated by Jürgen Fischer over 12 years ago
- Status changed from Open to Closed