Bug report #5274
QGIS rebuild really necessary for new GRASS release?
|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|
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
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.
#2 Updated by Radim Blazek over 7 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