[Insight-developers] Converting ITK's ImageIO libraries to shared

Jean-Christophe Fillion-Robin jchris.fillionr at kitware.com
Mon Jun 3 14:31:03 EDT 2013


Hi Brad,

+1
Solving the problem within ITK would be great.

Within Slicer, it would avoid us to maintain a shared library named
"ITKFactoryRegistration" preventing IO factory from being loaded multiple
times when registering Slicer plugins.
See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21592

Thanks
Jc


On Mon, Jun 3, 2013 at 12:01 PM, Bradley Lowekamp <blowekamp at mail.nih.gov>wrote:

> Matt,
>
> On windows if no export/import is declared for a symbol it will be
> considered internal and not specified in the windows DLL interface. A
> similar things should be done with default visibility with gcc. So this
> "should" not occur.
>
> This particular issue should have been resolved with this patch:
>
>
> https://github.com/Kitware/ITK/commit/395420846e0c9e48ede28f84a59794d889b51724
>
> Brad
>
> On Jun 3, 2013, at 11:30 AM, Matt McCormick <matt.mccormick at kitware.com>
> wrote:
>
> > Hi Brad,
> >
> > Duplicate exports may be an issue.  See, e.g.,
> >
> >  https://issues.itk.org/jira/browse/ITK-2796
> >
> > Matt
> >
> > On Mon, Jun 3, 2013 at 2:54 PM, Bradley Lowekamp <blowekamp at mail.nih.gov>
> wrote:
> >> Matt,
> >>
> >> What would be the issue with that?
> >>
> >> Brad
> >>
> >> On Jun 3, 2013, at 10:44 AM, Matt McCormick <matt.mccormick at kitware.com>
> wrote:
> >>
> >>> Hi Brad,
> >>>
> >>> I think many of the third party libraries that the ImageIO modules
> >>> depend on are not set up for shared libraries on Windows.
> >>>
> >>> Thanks,
> >>> Matt
> >>>
> >>> On Mon, Jun 3, 2013 at 2:26 PM, Bradley Lowekamp <
> blowekamp at mail.nih.gov> wrote:
> >>>> Hello,
> >>>>
> >>>> What are the possible problem what we will encounter if we convert
> ITK's ImageIO modules to be shared libraries on Windows? And manage the gcc
> exported symbols why we are at it?
> >>>>
> >>>> Performing the factory registration of ImageIO factory objects during
> static initialization in static libraries is fill with problems and tricky
> behaviors and is problematic for large applications to manage. By making
> these libraries shared the ImageIO factory objects should be unique and
> consistent across different libraries which use ITK, so that they will not
> get registered multiple times. Additionally, by explicitly specifying the
> exported symbols on gcc this should help to reduce the library size.
> >>>>
> >>>> Thanks for you thoughts,
> >>>> Brad
> >>>> _______________________________________________
> >>>> 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
> >>
>
> _______________________________________________
> 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
>



-- 
+1 919 869 8849
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-developers/attachments/20130603/d4611560/attachment.htm>


More information about the Insight-developers mailing list