wiki:MrSID

Version 7 (modified by Even Rouault, 14 years ago) ( diff )

Add note for MrSID and ABI incompatibilities with libgeotiff 1.3.0 or internal libgeotiff of GDAL 1.7.0 or later

MrSID

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).

Note on using GNU Libtool, users have confirmed that GDAL with MrSID builds successfully with or without libtool support (configure options: --with-libtool and --without-libtool).

ABI incompatibilities with libgeotiff 1.3.0 or internal libgeotiff of GDAL 1.7.0 or later

At the time of writing, the current DSDK binaries rely on the ABI of pre-1.3.0 libgeotiff. So when linking GDAL against libgeotiff >= 1.3.0 or internal libgeotiff of GDAL 1.7.0, you might encounter crashes on some platforms (verified on Fedora 12, 32 bit for example). A workaround is to compile GDAL with libgeotiff 1.2.5 or wait for LizardTech to issue new binaries compiled against libgeotiff 1.3.0. See ticket 3309 for details.

Extra qualification error (C++)

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-6.0.7.1407/include/base
/lti_sceneBuffer.h:356:
error: extra qualification 'LizardTech::LTISceneBuffer::' on member 'inWindow'
gmake[2]: *** [../o/mrsiddataset.o] Error 1
gmake[2]: Leaving directory
`/home/pvandeus/downloads/gdal/gdal-1.4.0/frmts/mrsid'
gmake[1]: *** [mrsid-install-obj] Error 2
gmake[1]: 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; 

Open Tickets

No results

Note: See TracWiki for help on using the wiki.