id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc 1587,Error compiling gdal-grass against gdal 1.4.1,perrygeo,warmerdam,"Using gdal 1.4.1 and gdal-grass 1.3.2 ------- I ran into some minor troubles getting gdal-grass plugin (version 1.3.2) installed on gdal: {{{ ./configure --with-gdal=/usr/local/bin/gdal-config --with-grass=/usr/local/grass-6.3.cvs g++ -Wall -fPIC -DUSE_CPL -DGRASS_GISBASE=\""/usr/local/grass-6.3.cvs\"" -I/usr/local/include -I/usr/local/grass-6.3.cvs/include -c -o grass57dataset.o grass57dataset.cpp grass57dataset.cpp: In static member function 'static GDALDataset* GRASSDataset::Open(GDALOpenInfo*)': grass57dataset.cpp:828: error: invalid conversion from 'int (*)(char*, int)' to 'int (*)(const char*, int)' grass57dataset.cpp:828: error: initializing argument 1 of 'int G_set_error_routine(int (*)(const char*, int))' make: *** [grass57dataset.o] Error 1 }}} Mateusz writes: It seems prototype of function pointer has changed and first parameter has been redefined from non-const to const. For the record, changing the following lines seems to fix it. {{{ # grass57dataset.cpp: 799 typedef int (*GrassErrorHandler)(const char *, int); # ogrgrassdatasource:91 typedef int (*GrassErrorHandler)(const char *, int); }}} I can't confirm that the above changes work but at they compile at the very least ;-) Mateusz writes: Yes, that will work, but probably it also will break backward compatibility, I suppose. ",defect,closed,normal,1.11.0,ConfigBuild,1.4.1,normal,invalid,grass,warmerdam Markus Neteler