[Gdal-dev] Kakadu and MrSID conflict

Frank Warmerdam fwarmerdam at gmail.com
Thu Apr 7 10:06:48 EDT 2005

On Apr 7, 2005 3:28 AM, Julien Demaria <dem at acri-st.fr> wrote:
> Ken,
> In fact finally I have successfully compiled GDAL with last Kakadu and last
> MrSID DSDK ; JP2 with Kakadu and seems work well, MrSID files too, but I
> don't know for JP2 MrSID because for JP2 Kakadu is always selected.
> I still have the "ld: warning: symbol `kdu_compressed_target virtual table'
> has differing s
> izes:
>          (file ./frmts/o/jp2.o value=0x40; file /project/openev/solaris/Ge
> o_DSDK- value=0x30);
>          ./frmts/o/jp2.o definition taken"
> but as the Kakadu jp2.o is selected and I use only Kakadu for JP2 I think
> there isn't any pb.*


You can define the GDAL_SKIP environment variable with the value
JP2KAK if you want GDAL to skip the JP2KAK driver.  Then it should
fall through to the MrSID or other support.

But on this point of mixing kakadu implementations in one build - it has
been my experience that this sort of thing can cause a world of pain.

In particular, in the past I had applications that ended up having two
different versions of libtiff linked in from different shared libraries.  
It seemed that (on Linux this was) the runtime linker would spontaneously
pick some libtiff calls from one library and some from the other.  The net
result was chaos since they were both compiled slightly differently 
(different structure layouts and so forth).  Furthermore the problem was
extremely difficult to debug. 

For this reason, I discourage this sort of mixing even if you can convince
the linker to allow it.   Of course, the details of how this works may 
be different on different platforms.  Certainly, I don't think it is problem
on Windows as long as the MrSID DLL does not export it's Kakadu
entry points (which I assume it does not). 

Of course, if something works for you then more power to you.  

Best regards,
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent

More information about the Gdal-dev mailing list