Hello,

As the symbols in the ITK library are not managled. So if you try to use the a 
system expat in conjunction with the ITK expat you could have conflicting 
symbols and undefined behavior. Simply installing the header in a different 
location will not solve this problem.

Configuring ITK to use a system expat will fully solve you problem.

You can find how other third party libraries did it here:

https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/ThirdParty/JPEG/CMakeLists.txt
https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/ThirdParty/TIFF/CMakeLists.txt

Would you like to try to create a patch to address this issue?

Thanks,
Brad

On Jun 2, 2014, at 8:22 AM, Rashad M <[email protected]> wrote:

> 
> 
> 
> On Mon, Jun 2, 2014 at 2:07 PM, Bradley Lowekamp <[email protected]> 
> wrote:
> Hello,
> 
> It would be quite reasonable to support using a system expact.
> 
> Could you please describe you problem a little clearer? Are you having 
> problem compiling ITK? or an Application which uses ITK? or Issues compiling 
> independent programs after ITK is installed?
> 
> My problem not with compiling/installing ITK but when compiling libkml, a 
> dependency of OTB which uses ITK. This uses an expat library and instead of 
> using  a system expat i wind up using expat from ITK as expat.h is installed 
> in <prefix>/include/ITK4.6. I can confirm using system expat doesnt have any 
> problem with libkml when used with OTB. 
> 
> If you would like to have a look at bug report, see here[1]. I had a 
> temporary solution to build libkml before adding itk headers but a best would 
> be to have a fix in ITK' expat library.
> 
> The issue is coming using an installed version of ITK. 
> So if you are planning to upgrade expat library to its latest version or use 
> system expat then the problem is solved. 
> 
> [1] http://bugs.orfeo-toolbox.org/view.php?id=879
>  
> 
> 
> 
> Thanks,
> Brad
> 
> On Jun 1, 2014, at 3:29 AM, Rashad M <[email protected]> wrote:
> 
>> Hi,
>> 
>> Is there an option to install expat includes in a different location? For 
>> now its installed in <prefix>/include. This seems to be a problem when using 
>> a latest expat version and by default ITK's expat is included. 
>> 
>> Or if it is possible to use a system expat to make sure that both ITK and 
>> other libraries uses same expat (latest version).
>> 
>> best would be to change location <prefix>/include/expat. So that cmake can 
>> be used to remove item from list of include directories.
>> 
>> eg:
>> list(REMOVE_ITEM expat-includes itk-includes)
>> 
>> -- 
>> Regards,
>>    Rashad
>> _______________________________________________
>> Powered by www.kitware.com
>> 
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>> 
>> Kitware offers ITK Training Courses, for more information visit:
>> http://kitware.com/products/protraining.php
>> 
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>> 
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-developers
> 
> 
> 
> 
> -- 
> Regards,
>    Rashad

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-developers

Reply via email to