|Version 2 (modified by warmerdam, 6 years ago)|
Building with MrSID SDK
MrSID driver needs LizardTech? decoding software development kit (DSDK). It is not free software, but you can download it without charge here: http://developer.lizardtech.com/ . To enable file creation capability you need encoding SDK (ESDK). You should contact LizardTech to obtain it.
The DSDK is distributed in binary form and if you are using GCC, please, ensure that you have the same compiler as was used for DSDK compilation. It is C++ library, so you may get incompatibilities in C++ name mangling among different GCC versions (2.95.x and 3.x).
qualification build error
Some folks have reported the following building on unix:
Has anyone made notes recently on compiling gdal with mrsid support. Here is what I did so far, but it failed. 1) download the DSDK from LizardTech 2) ./configure --with-mrsid=pathToDSDK 3)edited MRSID lines in nmake.opt to point to the DSDK directory 4)gmake I got this error: /home/pvandeus/downloads/gdal/Geo_DSDK-18.104.22.1687/include/base /lti_sceneBuffer.h:356: error: extra qualification 'LizardTech::LTISceneBuffer::' on member 'inWindow' gmake: *** [../o/mrsiddataset.o] Error 1 gmake: Leaving directory `/home/pvandeus/downloads/gdal/gdal-1.4.0/frmts/mrsid' gmake: *** [mrsid-install-obj] Error 2 gmake: Leaving directory `/home/pvandeus/downloads/gdal/gdal-1.4.0/frmts' gmake: *** [frmts-target] Error 2 This is on a system running Fedora Core 6.
This is an incompatibility of the MrSID SDK header file with gcc 3.4+; it was not considered an error in previous versions of gcc. (Thanks to Mateusz Loskot for pointing it out to us originally.)
To fix the issue in the header (lti_sceneBuffer.h), simply remove the extra qualification from the inWindow declaration. Line 356 should look like this:
bool inWindow(lt_uint32 x, lt_uint32 y) const;