Page MenuHomePhabricator

DICOM plugin depends on autoload module
Closed, ResolvedPublic

Description

In T26980: MITK_CREATE_MACRO should prohibit dependencies against autoload modules a check was introduced to prevent developers from adding link-time dependencies to auto-load modules, after all of these dependencies were removed from modules. However T27087: Remove Autoload-Modul-Workarround in the FixMacOS script revealed that there is at least the DICOM plugin, that depends on an auto-load module (DicomRTIO). This dependency must be decoupled and it would probably be a good idea to add an auto-load dependency check to plugins as well.

Currently, a packaged MITK Workbench on macOS cannot load the DICOM plugin. This needs to be fixed for the upcoming release.

Revisions and Commits

Event Timeline

kislinsk created this task.
kislinsk updated the task description. (Show Details)
kislinsk added a revision: Restricted Differential Revision.Mar 23 2020, 11:48 AM

DicomRT tests do fail now. For example:

Thu Mar 26 15:09:21 2020 
1.04 core.mod.core.act WARNING: In `anonymous-namespace'::load_impl at C:\jenkins\MITK\cont\src\Modules\CppMicroServices\core\src\util\usUtils.cpp:90 : A dynamic link library (DLL) initialization routine failed.
1.04 core.mod.core.act WARNING: In us::AutoLoadModulesFromPath at C:\jenkins\MITK\cont\src\Modules\CppMicroServices\core\src\util\usUtils.cpp:176 : Auto-loading of module C:\jenkins\MITK\cont\build\MITK-build\bin\MitkCore\Release\MitkDicomRTIO.dll failed.
1.04 core.mod.core.act WARNING: In us::GetModuleContext at C:\jenkins\MITK\cont\src\Modules\CppMicroServices\core\include\usGetModuleContext.h:57 : Module 'MitkDICOMReader' unknown. The calling module probably misses a US_MODULE_NAME compile definition and/or a call to US_INITIALIZE_MODULE in one of its source files.
1.04 core.mod.dicomReader.dicomIoHelper WARNING: No dicom context found.
.1.21 core.mod.core.imgIo: loading C:/jenkins/MITK/cont/build/MITK-Data/RT/Dose/RT_Dose.nrrd via itk::ImageIOFactory...
1.21 core.mod.core.imgIo: ioRegion: ImageIORegion (0000001D1DEFE720)
  Dimension: 3
  Index: 0 0 0 
  Size: 253 174 263
1.62 core.mod.core.imgIo: [503.023, 412.406, -21.6]
1.62 core.mod.core.imgIo: [-2.977, 64.406, -547.6]
1.62 core.mod.core.imgIo: used time geometry: ProportionalTimeGeometry
1.62 core.mod.core.imgIo: number of image components: 1
1.62 core.mod.core.imgIo: ...finished!
3.72 core.mod.core.ioMimetypes: DICOM Modality is RTDOSE
3.90 core.mod.core.ioUtil ERROR: No reader available for 'C:/jenkins/MITK/cont/build/MITK-Data/RT/Dose/RD.dcm'
E.3.90 core.mod.core.imgIo: loading C:/jenkins/MITK/cont/build/MITK-Data/RT/Dose/RT_Dose.nrrd via itk::ImageIOFactory...
3.90 core.mod.core.imgIo: ioRegion: ImageIORegion (0000001D1DEFE720)
  Dimension: 3
  Index: 0 0 0 
  Size: 253 174 263
4.47 core.mod.core.imgIo: [503.023, 412.406, -21.6]
4.47 core.mod.core.imgIo: [-2.977, 64.406, -547.6]
4.47 core.mod.core.imgIo: used time geometry: ProportionalTimeGeometry
4.47 core.mod.core.imgIo: number of image components: 1
4.47 core.mod.core.imgIo: ...finished!
4.64 core.mod.core.ioMimetypes: DICOM Modality is RTDOSE
4.73 core.mod.core.ioUtil ERROR: No reader available for 'C:/jenkins/MITK/cont/build/MITK-Data/RT/Dose/RD.dcm'
E


!!!FAILURES!!!
Test Results:
Run:  2   Failures: 0   Errors: 2


1) test: mitkRTDoseReaderServiceTestSuite::TestDoseImage (E) 
setUp() failed
- uncaught exception of type mitk::Exception
- C:\jenkins\MITK\cont\src\Modules\Core\src\IO\mitkIOUtil.cpp:559:
No reader available for 'C:/jenkins/MITK/cont/build/MITK-Data/RT/Dose/RD.dcm'



2) test: mitkRTDoseReaderServiceTestSuite::TestProperties (E) 
setUp() failed
- uncaught exception of type mitk::Exception
- C:\jenkins\MITK\cont\src\Modules\Core\src\IO\mitkIOUtil.cpp:559:
No reader available for 'C:/jenkins/MITK/cont/build/MITK-Data/RT/Dose/RD.dcm'



vtkDebugLeaks has found no leaks.