[ITK-dev] Problems with WikiExamples Remote Module after recent checkin

Matt McCormick matt.mccormick at kitware.com
Fri Nov 21 00:34:17 EST 2014


Hi Bill,

That patch is required to prevent link errors with static builds and
multiple calls to COMPONENTS -- it should not be reverted.  The
factory initialization code looks for non-provided symbols in this
case:

 "Multiple calls to find_package(ITK COMPONENTS ...) within a project
can result in different IO modules being enabled as ${module}_LOADED.
However, the ${module}_LOADED does not match the requested modules
enabled with COMPONENTS. Since ITK_LIBRARIES will only contain the
requested modules, we must only use these modules to avoid link errors
for the factory registration symbols." [1]

The ITKVTKGlue error sounds like an unrelated CMake issue.

I will see if I can reproduce.

Thanks,
Matt

[1] http://itk.org/gitweb?p=ITK.git;a=commitdiff;h=a0b2c43a2e5c96bdf55b402d1031a03e8b349f21

On Thu, Nov 20, 2014 at 11:07 AM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
> Matt,
>
> I don't understand the use case for the original patch. If a module is
> loaded, but not requested it will not be added to the registered
> factories. What was wrong with the previous version? Where was it
> failing.
>
> I'd like to revert the current one since it breaks the remote wiki
> examples and also has issues with the vtkglue module.
>
> I put a message in my local UseITK.cmake file
>   if(${_module_name}_LOADED AND ${_module_was_requested} EQUAL -1)
>     message(STATUS "================ ${_module_name} is loaded but not
> requested")
>   endif()
>
>  and I get:
>
> -- ================ ITKIONIFTI is loaded but not requested
> -- ================ ITKIONRRD is loaded but not requested
> -- ================ ITKIOGIPL is loaded but not requested
> -- ================ ITKIOJPEG is loaded but not requested
> -- ================ ITKIOGDCM is loaded but not requested
> -- ================ ITKIOBMP is loaded but not requested
> -- ================ ITKIOLSM is loaded but not requested
> -- ================ ITKIOPNG is loaded but not requested
> -- ================ ITKIOTIFF is loaded but not requested
> -- ================ ITKIOVTK is loaded but not requested
> -- ================ ITKIOStimulate is loaded but not requested
> -- ================ ITKIOBioRad is loaded but not requested
> -- ================ ITKIOMeta is loaded but not requested
> -- ================ ITKIOTransformMatlab is loaded but not requested
> -- ================ ITKIOTransformHDF5 is loaded but not requested
> -- ================ ITKIOTransformInsightLegacy is loaded but not requested
>
> Bill
>
> On Thu, Nov 20, 2014 at 7:36 AM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>> Also, my normal ITK build which has several remote modules turned fails to build
>> Linking CXX shared library ../../../../lib/libITKVtkGlue-4.7.dylib
>> ld: library not found for -lvtkCommonCore
>> collect2: ld returned 1 exit status
>> make[2]: *** [lib/libITKVtkGlue-4.7.1.dylib] Error 1
>>
>>
>>
>> On Thu, Nov 20, 2014 at 12:33 AM, Matt McCormick
>> <matt.mccormick at kitware.com> wrote:
>>> Hi Bill,
>>>
>>> Thanks for the note.
>>>
>>> I'll have to take a look.
>>>
>>> It may be that if one part of the Wiki Examples is using COMPONENTS,
>>> either all or none is required...
>>>
>>> Thanks,
>>> Matt
>>>
>>> On Wed, Nov 19, 2014 at 10:57 AM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>>>> Matt,
>>>> This change:
>>>> http://open.cdash.org/viewChanges.php?project=Insight&date=2014-10-18
>>>> is causing the WikiExamples Remote Module to fail doing execution. For
>>>> example see:
>>>> http://open.cdash.org/testDetails.php?test=288318310&build=3533969
>>>>
>>>> What should I do?
>>>>
>>>> Bill
>>
>>
>>
>> --
>> Unpaid intern in BillsBasement at noware dot com
>
>
>
> --
> Unpaid intern in BillsBasement at noware dot com


More information about the Insight-developers mailing list