The SlicerDMRI extension is currently unavailable.

2

Thanks for the report. Yes, it looks like the build is broken on windows.

http://slicer.cdash.org/viewBuildError.php?buildid=1951157

Does anyone know how to fix that error? My local SlicerDMRI build works on mac.

We had similar errors on Slicer when we switched to the newer Visual Studio. Discussion here:

tl;dr is that I just disabled the tests. I tried re-writing the test driver that they use (it is clearly out of date compared to tests that are working) but I couldn’t get anything to work.

1

An error occurs whenever a new version is released.

The same error appears when installing a new visual studio.

I am facing the same error. Could anyone find the solution yet?

I have tried to rebuilt the slicer last week, I am still facing the same problem. The version and the platform is mentioned in the screenshot. Could you able to fix the problem? Thanks

image

We’re hopeful that this change will fix the windows version of SlicerDMRI. Please try tomorrow’s preview build and let us know.

Thank you for your response @pieper . I just rebuilt the slicer with the latest version. The problem still persists. Is the problem in my built? Is there anyone who has this problem in windows?

Thank you

image

In my terminal window, I can see this error (picture attached). I think the clicer is not able to open the URL. I have downloaded the the Slicer DMRI pkg from the given address. Is there any way to install and add this package in my slicer built?

Looking forward to your response

The windows build of the dmri extension succeeded today, so you should be able to use it with the nightly preview download of Slicer. It’s not expected that the download will work with your local build because the compilation environment is different. You can checkout and build the dmri extension on your local machine if you want to try that.

Thanks for your response @pieper. I just tried, it worked. I am able to rub SlicerDMRI now.

However, UKF tractography is not working and I cannot find it in the extension manager. I think I have to build it on my local machine.
Any remarks on this?

Thank you again.

Thanks for letting us know. It looks like UKF has the same kind of linker errors. Unfortunately on this it appears it’s not just the tests, but the program itself. You could try to build UKF yourself, but you might run into the same issue. I’ll try a build here too.

Yeah, I tried, but I could not make it running. Can you please fix the problem.
Do I have to build the slicer again to install UKF module once the problem is fixed?

Thank you

@pieper , I am trying to build the UKF myself but I indeed came across some linking errors. I am attaching the build output log. I hope it will help

1>------ Build started: Project: ZERO_CHECK, Configuration: Release x64 ------
1>Checking Build System
2>------ Build started: Project: UKF-Eigen, Configuration: Release x64 ------
3>------ Build started: Project: _GEN_GITVER, Configuration: Release x64 ------
4>------ Build started: Project: vtkSlicerInteractiveUKFModuleLogicHierarchy, Configuration: Release x64 ------
5>------ Build started: Project: CopyInteractiveUKFPythonScriptFiles, Configuration: Release x64 ------
6>------ Build started: Project: ConfigureAdditionalLauncherSettings, Configuration: Release x64 ------
7>------ Build started: Project: SlicerWithUKFTractographyConfigureLauncher, Configuration: Release x64 ------
2>Creating directories for ‘UKF-Eigen’
3>Generating UKF_GIT_HASH
5>Copying python Script: InteractiveUKF.py
4>For vtkSlicerInteractiveUKFModuleLogic - updating vtkSlicerInteractiveUKFModuleLogicHierarchy.txt
6>Configuring: AdditionalLauncherSettings.ini
6>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/CMakeLists.txt
5>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/InteractiveUKF/UI/CMakeLists.txt
8>------ Build started: Project: CompileInteractiveUKFPythonFiles, Configuration: Release x64 ------
2>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/CMakeLists.txt
3>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/ukf/CMakeLists.txt
2>Performing download step (git clone) for ‘UKF-Eigen’
8>Compiling python scripts: InteractiveUKF
2>-- Avoiding repeated git clone, stamp file is up to date: ‘C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/UKF-Eigen-prefix/src/UKF-Eigen-stamp/UKF-Eigen-gitclone-lastrun.txt’
2>Performing update step for ‘UKF-Eigen’
2>No patch step for ‘UKF-Eigen’
7>Configuring application launcher: SlicerWithUKFTractography
2>No configure step for ‘UKF-Eigen’
8>Compiling C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/lib/Slicer-4.11/qt-scripted-modules/InteractiveUKF.py …
8>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/InteractiveUKF/UI/CMakeLists.txt
2>No build step for ‘UKF-Eigen’
7>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/CMakeLists.txt
2>No install step for ‘UKF-Eigen’
2>Completed ‘UKF-Eigen’
9>------ Build started: Project: UKFBase, Configuration: Release x64 ------
9>Generating git_version.cc
9>Generating UKFTractographyCLP.h
9>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/ukf/CMakeLists.txt
9>GenerateCLP --InputXML C:/Users/20191382/Documents/Git_Reps/ukftractography/UKFTractography/UKFTractography.xml --OutputCxx C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/ukf/UKFTractographyCLP.h
9>GenerateCLP: Found 6 parameters groups
9>GenerateCLP: Group “IO” has 5 parameters
9>GenerateCLP: Group “Tractography Options” has 11 parameters
9>GenerateCLP: Group “Tensor Model (default)” has 7 parameters
9>GenerateCLP: Group “NODDI Model” has 6 parameters
9>GenerateCLP: Group “Signal Parameters (Expert Only)” has 1 parameters
9>GenerateCLP: Group “Not Used: Debug/Develop Only” has 12 parameters
9>git_version.cc
9>BRAINSThreadControl.cxx
4>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/InteractiveUKF/Logic/CMakeLists.txt
9>utilities.cc
9>C:\Users\20191382\Documents\Git_Reps\ukftractography\ukf\utilities.cc(866,9): warning C4244: ‘argument’: conversion from ‘ukfPrecisionType’ to ‘Eigen::EigenBase::Index’, possible loss of data
9> with
9> [
9> Derived=Eigen::Matrix<double,-1,1,0,-1,1>
9> ]
9>cli.cc
9>tractography.cc
9>unscented_kalman_filter.cc
9>seed.cc
9>ukffiber.cc
9>NrrdData.cc
9>vtk_writer.cc
9>dwi_normalize.cc
9>thread.cc
9>QuadProg++_Eigen.cc
9>filter_model.cc
9>filter_Full1T.cc
9>filter_Full1T_FW.cc
9>filter_Full2T.cc
9>filter_Full2T_FW.cc
9>filter_Full3T.cc
9>filter_NODDI1F.cc
9>Generating Code…
9>Compiling…
9>filter_NODDI2F.cc
9>filter_Simple1T.cc
9>filter_Simple1T_FW.cc
9>filter_Simple2T.cc
9>filter_Simple2T_FW.cc
9>filter_Simple3T.cc
9>Generating Code…
9>Auto build dll exports
9>jsoncpp.lib(jsoncpp.dll) : error LNK2005: “public: __cdecl Json::Reader::~Reader(void)” (??1Reader@Json@@QEAA@XZ) already defined in ParameterSerializerLib.lib(itkJsonCppArchiver.obj)
9>jsoncpp.lib(jsoncpp.dll) : error LNK2005: “public: __cdecl Json::StyledStreamWriter::~StyledStreamWriter(void)” (??1StyledStreamWriter@Json@@QEAA@XZ) already defined in ParameterSerializerLib.lib(itkJsonCppArchiver.obj)
9> Creating library C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/lib/Release/UKFBase.lib and object C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/lib/Release/UKFBase.exp
9>C:\Users\20191382\Documents\Slicer_Extensions\UKF_build2\bin\Release\UKFBase.dll : fatal error LNK1169: one or more multiply defined symbols found
9>Done building project “UKFBase.vcxproj” – FAILED.
10>------ Build started: Project: UKFTractographyLib, Configuration: Release x64 ------
11>------ Build started: Project: vtkSlicerInteractiveUKFModuleLogic, Configuration: Release x64 ------
12>------ Build started: Project: ConvertVTKLib, Configuration: Release x64 ------
11>For vtkSlicerInteractiveUKFModuleLogic - updating vtkSlicerInteractiveUKFModuleLogicHierarchy.txt
10>Generating UKFTractographyCLP.h
12>Generating ConvertVTKCLP.h
10>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/UKFTractography/CMakeLists.txt
10>GenerateCLP --InputXML C:/Users/20191382/Documents/Git_Reps/ukftractography/UKFTractography/UKFTractography.xml --OutputCxx C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/UKFTractography/UKFTractographyCLP.h
10>GenerateCLP: Found 6 parameters groups
10>GenerateCLP: Group “IO” has 5 parameters
10>GenerateCLP: Group “Tractography Options” has 11 parameters
10>GenerateCLP: Group “Tensor Model (default)” has 7 parameters
10>GenerateCLP: Group “NODDI Model” has 6 parameters
10>GenerateCLP: Group “Signal Parameters (Expert Only)” has 1 parameters
10>GenerateCLP: Group “Not Used: Debug/Develop Only” has 12 parameters
12>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/UKFTractography/CMakeLists.txt
12>GenerateCLP --InputXML C:/Users/20191382/Documents/Git_Reps/ukftractography/UKFTractography/ConvertVTK.xml --OutputCxx C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/UKFTractography/ConvertVTKCLP.h
12>GenerateCLP: Found 1 parameters groups
12>GenerateCLP: Group “” has 4 parameters
10>UKFTractography.cxx
12>ConvertVTK.cxx
12>C:\D\S4R\JsonCpp\include\json\value.h(53,50): warning C4275: non dll-interface class ‘std::exception’ used as base for dll-interface class ‘Json::Exception’
12>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\vcruntime_exception.h(48): message : see declaration of ‘std::exception’
12>C:\D\S4R\JsonCpp\include\json\value.h(53): message : see declaration of ‘Json::Exception’
12>C:\D\S4R\JsonCpp\include\json\reader.h(249,63): warning C4275: non dll-interface class ‘Json::CharReader::Factory’ used as base for dll-interface class ‘Json::CharReaderBuilder’
12>C:\D\S4R\JsonCpp\include\json\reader.h(227): message : see declaration of ‘Json::CharReader::Factory’
12>C:\D\S4R\JsonCpp\include\json\reader.h(249): message : see declaration of ‘Json::CharReaderBuilder’
11>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/InteractiveUKF/Logic/CMakeLists.txt
11>vtkSlicerInteractiveUKFLogic.cxx
12>ConvertVTKLib.vcxproj -> C:\Users\20191382\Documents\Slicer_Extensions\UKF_build2\lib\Slicer-4.11\cli-modules\Release\ConvertVTKLib.lib
12>Done building project “ConvertVTKLib.vcxproj”.
13>------ Build started: Project: ConvertVTK, Configuration: Release x64 ------
13>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/UKFTractography/CMakeLists.txt
13>SEMCommandLineLibraryWrapper.cxx
13> Creating library C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/lib/Slicer-4.11/cli-modules/Release/ConvertVTK.lib and object C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/lib/Slicer-4.11/cli-modules/Release/ConvertVTK.exp
13>ConvertVTK.vcxproj -> C:\Users\20191382\Documents\Slicer_Extensions\UKF_build2\lib\Slicer-4.11\cli-modules\Release\ConvertVTK.exe
10>UKFTractographyLib.vcxproj -> C:\Users\20191382\Documents\Slicer_Extensions\UKF_build2\lib\Slicer-4.11\cli-modules\Release\UKFTractographyLib.lib
14>------ Build started: Project: UKFTractography, Configuration: Release x64 ------
13>Copying XML file ‘ConvertVTK.xml’ along side the executable
14>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/UKFTractography/CMakeLists.txt
14>SEMCommandLineLibraryWrapper.cxx
14>UKFTractography.vcxproj -> C:\Users\20191382\Documents\Slicer_Extensions\UKF_build2\lib\Slicer-4.11\cli-modules\Release\UKFTractography.exe
14>Copying XML file ‘UKFTractography.xml’ along side the executable
15>------ Build started: Project: UKFTractographyTest, Configuration: Release x64 ------
15>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/UKFTractography/Testing/CMakeLists.txt
15>CompareFibers.cc
11> Creating library C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/lib/Slicer-4.11/qt-loadable-modules/Release/vtkSlicerInteractiveUKFModuleLogic.lib and object C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/lib/Slicer-4.11/qt-loadable-modules/Release/vtkSlicerInteractiveUKFModuleLogic.exp
11>vtkSlicerInteractiveUKFModuleLogic.vcxproj -> C:\Users\20191382\Documents\Slicer_Extensions\UKF_build2\lib\Slicer-4.11\qt-loadable-modules\Release\vtkSlicerInteractiveUKFModuleLogic.dll
16>------ Build started: Project: vtkSlicerInteractiveUKFModuleLogicPythonD, Configuration: Release x64 ------
16>Python Wrapping - generating vtkSlicerInteractiveUKFLogicPython.cxx
15>UKFTractographyTest.vcxproj -> C:\Users\20191382\Documents\Slicer_Extensions\UKF_build2\bin\Release\UKFTractographyTest.exe
16>Python Wrapping - generating vtkSlicerInteractiveUKFModuleLogicPythonInit.cxx
16>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/InteractiveUKF/Logic/CMakeLists.txt
16>vtkSlicerInteractiveUKFLogicPython.cxx
16>vtkSlicerInteractiveUKFModuleLogicPythonInitImpl.cxx
16>Generating Code…
16> Creating library C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/lib/Slicer-4.11/qt-loadable-modules/Release/vtkSlicerInteractiveUKFModuleLogicPythonD.lib and object C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/lib/Slicer-4.11/qt-loadable-modules/Release/vtkSlicerInteractiveUKFModuleLogicPythonD.exp
16>vtkSlicerInteractiveUKFModuleLogicPythonD.vcxproj -> C:\Users\20191382\Documents\Slicer_Extensions\UKF_build2\lib\Slicer-4.11\qt-loadable-modules\Release\vtkSlicerInteractiveUKFModuleLogicPythonD.dll
17>------ Build started: Project: vtkSlicerInteractiveUKFModuleLogicPython, Configuration: Release x64 ------
17>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/InteractiveUKF/Logic/CMakeLists.txt
17>vtkSlicerInteractiveUKFModuleLogicPythonInit.cxx
17> Creating library C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/lib/Slicer-4.11/qt-loadable-modules/Release/vtkSlicerInteractiveUKFModuleLogicPython.lib and object C:/Users/20191382/Documents/Slicer_Extensions/UKF_build2/lib/Slicer-4.11/qt-loadable-modules/Release/vtkSlicerInteractiveUKFModuleLogicPython.exp
17>vtkSlicerInteractiveUKFModuleLogicPython.vcxproj -> C:\Users\20191382\Documents\Slicer_Extensions\UKF_build2\lib\Slicer-4.11\qt-loadable-modules\Release\vtkSlicerInteractiveUKFModuleLogicPython.pyd
18>------ Build started: Project: ALL_BUILD, Configuration: Release x64 ------
18>Building Custom Rule C:/Users/20191382/Documents/Git_Reps/ukftractography/CMakeLists.txt
========== Build: 17 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Interesting - your build fails with the same error as the dashboard, but my local ukftractography build succeeded without the error.

I’m using Visual Studio 2019 and needed to make a small change to the Boost build script but otherwise it’s the ukf master version. I am building in debug though, and that might be the difference.

diff --git a/SuperBuild/External_Boost.cmake b/SuperBuild/External_Boost.cmake
index 4eda1a4..35c66b2 100644
--- a/SuperBuild/External_Boost.cmake
+++ b/SuperBuild/External_Boost.cmake
@@ -74,7 +74,7 @@ if(NOT ( DEFINED "USE_SYSTEM_${extProjName}" AND "${USE_SYSTEM_${extProjName}}"
          list(APPEND Boost_b2_Command toolset=msvc-14.0)
     elseif(MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1920)
          list(APPEND Boost_b2_Command toolset=msvc-14.1)
-    elseif(MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1922)
+    elseif(MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1927)^M
          list(APPEND Boost_b2_Command toolset=msvc-14.2)
     else()
          message(FATAL_ERROR "Unknown MSVC compiler version [${MSVC_VERSION}]")
@@ -143,4 +143,4 @@ mark_as_superbuild(
     ${extProjName}_DIR:PATH
   LABELS
     "FIND_PACKAGE"

1>------ Build started: Project: ZERO_CHECK, Configuration: Debug x64 ------
1>Checking Build System
2>------ Build started: Project: UKF-Eigen, Configuration: Debug x64 ------
3>------ Build started: Project: _GEN_GITVER, Configuration: Debug x64 ------
4>------ Build started: Project: vtkSlicerInteractiveUKFModuleLogicHierarchy, Configuration: Debug x64 ------
5>------ Build started: Project: CopyInteractiveUKFPythonScriptFiles, Configuration: Debug x64 ------
6>------ Build started: Project: ConfigureAdditionalLauncherSettings, Configuration: Debug x64 ------
7>------ Build started: Project: SlicerWithUKFTractographyConfigureLauncher, Configuration: Debug x64 ------
2>Creating directories for 'UKF-Eigen'
3>Generating UKF_GIT_HASH
2>Building Custom Rule C:/pieper/ukftractography/CMakeLists.txt
2>Performing download step (git clone) for 'UKF-Eigen'
4>For vtkSlicerInteractiveUKFModuleLogic - updating vtkSlicerInteractiveUKFModuleLogicHierarchy.txt
3>Building Custom Rule C:/pieper/ukftractography/ukf/CMakeLists.txt
5>Copying python Script: InteractiveUKF.py
5>Building Custom Rule C:/pieper/ukftractography/InteractiveUKF/UI/CMakeLists.txt
8>------ Build started: Project: CompileInteractiveUKFPythonFiles, Configuration: Debug x64 ------
6>Configuring: AdditionalLauncherSettings.ini
6>Building Custom Rule C:/pieper/ukftractography/CMakeLists.txt
2>Cloning into 'Eigen'...
7>Configuring application launcher: SlicerWithUKFTractography
8>Compiling python scripts: InteractiveUKF
7>Building Custom Rule C:/pieper/ukftractography/CMakeLists.txt
8>Compiling C:/pieper/ukftractography-build/lib/Slicer-4.11/qt-scripted-modules/InteractiveUKF.py ...
8>Building Custom Rule C:/pieper/ukftractography/InteractiveUKF/UI/CMakeLists.txt
4>Building Custom Rule C:/pieper/ukftractography/InteractiveUKF/Logic/CMakeLists.txt
2>Note: checking out '3.3.7'.
2>
2>You are in 'detached HEAD' state. You can look around, make experimental
2>changes and commit them, and you can discard any commits you make in this
2>state without impacting any branches by performing another checkout.
2>
2>If you want to create a new branch to retain commits you create, you may
2>do so (now or later) by using -b with the checkout command again. Example:
2>
2>  git checkout -b <new-branch-name>
2>
2>HEAD is now at cf794d3... bump to 3.3.7
2>Performing update step for 'UKF-Eigen'
2>No patch step for 'UKF-Eigen'
2>No configure step for 'UKF-Eigen'
2>No build step for 'UKF-Eigen'
2>No install step for 'UKF-Eigen'
2>Completed 'UKF-Eigen'
2>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(231,5): warning MSB8064: Custom build for item "C:\pieper\ukftractography-build\CMakeFiles\a5211e23d24912afe631421c4a932b9f\UKF-Eigen-configure.rule" succeeded, but specified dependency "c:\pieper\ukftractography-build\ukf-eigen-prefix\src\ukf-eigen-stamp\debug\ukf-eigen-update" does not exist. This may cause incremental build to work incorrectly.
2>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(231,5): warning MSB8064: Custom build for item "C:\pieper\ukftractography-build\CMakeFiles\bed4b501aa27d504470e64d79786f98a\UKF-Eigen-complete.rule" succeeded, but specified dependency "c:\pieper\ukftractography-build\ukf-eigen-prefix\src\ukf-eigen-stamp\debug\ukf-eigen-update" does not exist. This may cause incremental build to work incorrectly.
2>Done building project "UKF-Eigen.vcxproj".
9>------ Build started: Project: UKFBase, Configuration: Debug x64 ------
9>Generating git_version.cc
9>Generating UKFTractographyCLP.h
9>Building Custom Rule C:/pieper/ukftractography/ukf/CMakeLists.txt
9>GenerateCLP --InputXML C:/pieper/ukftractography/UKFTractography/UKFTractography.xml --OutputCxx C:/pieper/ukftractography-build/ukf/UKFTractographyCLP.h
9>GenerateCLP: Found 6 parameters groups
9>GenerateCLP: Group "IO" has 5 parameters
9>GenerateCLP: Group "Tractography Options" has 11 parameters
9>GenerateCLP: Group "Tensor Model (default)" has 7 parameters
9>GenerateCLP: Group "NODDI Model" has 6 parameters
9>GenerateCLP: Group "Signal Parameters (Expert Only)" has 1 parameters
9>GenerateCLP: Group "Not Used: Debug/Develop Only" has 12 parameters
9>git_version.cc
9>BRAINSThreadControl.cxx
9>utilities.cc
9>C:\pieper\ukftractography\ukf\utilities.cc(866,9): warning C4244: 'argument': conversion from 'ukfPrecisionType' to 'Eigen::EigenBase<Derived>::Index', possible loss of data
9>        with
9>        [
9>            Derived=Eigen::Matrix<double,-1,1,0,-1,1>
9>        ]
9>cli.cc
9>tractography.cc
9>unscented_kalman_filter.cc
9>seed.cc
9>ukffiber.cc
9>NrrdData.cc
9>vtk_writer.cc
9>dwi_normalize.cc
9>thread.cc
9>QuadProg++_Eigen.cc
9>filter_model.cc
9>filter_Full1T.cc
9>filter_Full1T_FW.cc
9>filter_Full2T.cc
9>filter_Full2T_FW.cc
9>filter_Full3T.cc
9>filter_NODDI1F.cc
9>Generating Code...
9>Compiling...
9>filter_NODDI2F.cc
9>filter_Simple1T.cc
9>filter_Simple1T_FW.cc
9>filter_Simple2T.cc
9>filter_Simple2T_FW.cc
9>filter_Simple3T.cc
9>Generating Code...
9>Auto build dll exports
9>   Creating library C:/pieper/ukftractography-build/lib/Debug/UKFBase.lib and object C:/pieper/ukftractography-build/lib/Debug/UKFBase.exp
9>UKFBase.vcxproj -> C:\pieper\ukftractography-build\bin\Debug\UKFBase.dll
9>Done building project "UKFBase.vcxproj".
10>------ Build started: Project: UKFTractographyLib, Configuration: Debug x64 ------
11>------ Build started: Project: vtkSlicerInteractiveUKFModuleLogic, Configuration: Debug x64 ------
12>------ Build started: Project: ConvertVTKLib, Configuration: Debug x64 ------
11>For vtkSlicerInteractiveUKFModuleLogic - updating vtkSlicerInteractiveUKFModuleLogicHierarchy.txt
10>Generating UKFTractographyCLP.h
12>Generating ConvertVTKCLP.h
10>Building Custom Rule C:/pieper/ukftractography/UKFTractography/CMakeLists.txt
10>GenerateCLP --InputXML C:/pieper/ukftractography/UKFTractography/UKFTractography.xml --OutputCxx C:/pieper/ukftractography-build/UKFTractography/UKFTractographyCLP.h
12>Building Custom Rule C:/pieper/ukftractography/UKFTractography/CMakeLists.txt
12>GenerateCLP --InputXML C:/pieper/ukftractography/UKFTractography/ConvertVTK.xml --OutputCxx C:/pieper/ukftractography-build/UKFTractography/ConvertVTKCLP.h
12>GenerateCLP: Found 1 parameters groups
12>GenerateCLP: Group "" has 4 parameters
10>GenerateCLP: Found 6 parameters groups
10>GenerateCLP: Group "IO" has 5 parameters
10>GenerateCLP: Group "Tractography Options" has 11 parameters
10>GenerateCLP: Group "Tensor Model (default)" has 7 parameters
10>GenerateCLP: Group "NODDI Model" has 6 parameters
10>GenerateCLP: Group "Signal Parameters (Expert Only)" has 1 parameters
10>GenerateCLP: Group "Not Used: Debug/Develop Only" has 12 parameters
12>ConvertVTK.cxx
10>UKFTractography.cxx
12>C:\sq5\JsonCpp\include\json\value.h(53,50): warning C4275: non dll-interface class 'std::exception' used as base for dll-interface class 'Json::Exception'
12>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\vcruntime_exception.h(48): message : see declaration of 'std::exception'
12>C:\sq5\JsonCpp\include\json\value.h(53): message : see declaration of 'Json::Exception'
12>C:\sq5\JsonCpp\include\json\reader.h(249,63): warning C4275: non dll-interface class 'Json::CharReader::Factory' used as base for dll-interface class 'Json::CharReaderBuilder'
12>C:\sq5\JsonCpp\include\json\reader.h(227): message : see declaration of 'Json::CharReader::Factory'
12>C:\sq5\JsonCpp\include\json\reader.h(249): message : see declaration of 'Json::CharReaderBuilder'
11>Building Custom Rule C:/pieper/ukftractography/InteractiveUKF/Logic/CMakeLists.txt
11>vtkSlicerInteractiveUKFLogic.cxx
12>ConvertVTKLib.vcxproj -> C:\pieper\ukftractography-build\lib\Slicer-4.11\cli-modules\Debug\ConvertVTKLib.lib
12>Done building project "ConvertVTKLib.vcxproj".
13>------ Build started: Project: ConvertVTK, Configuration: Debug x64 ------
13>Building Custom Rule C:/pieper/ukftractography/UKFTractography/CMakeLists.txt
13>SEMCommandLineLibraryWrapper.cxx
13>   Creating library C:/pieper/ukftractography-build/lib/Slicer-4.11/cli-modules/Debug/ConvertVTK.lib and object C:/pieper/ukftractography-build/lib/Slicer-4.11/cli-modules/Debug/ConvertVTK.exp
13>ConvertVTK.vcxproj -> C:\pieper\ukftractography-build\lib\Slicer-4.11\cli-modules\Debug\ConvertVTK.exe
13>Copying XML file 'ConvertVTK.xml' along side the executable
10>UKFTractographyLib.vcxproj -> C:\pieper\ukftractography-build\lib\Slicer-4.11\cli-modules\Debug\UKFTractographyLib.lib
14>------ Build started: Project: UKFTractography, Configuration: Debug x64 ------
14>Building Custom Rule C:/pieper/ukftractography/UKFTractography/CMakeLists.txt
14>SEMCommandLineLibraryWrapper.cxx
14>UKFTractography.vcxproj -> C:\pieper\ukftractography-build\lib\Slicer-4.11\cli-modules\Debug\UKFTractography.exe
14>Copying XML file 'UKFTractography.xml' along side the executable
15>------ Build started: Project: UKFTractographyTest, Configuration: Debug x64 ------
15>Building Custom Rule C:/pieper/ukftractography/UKFTractography/Testing/CMakeLists.txt
15>CompareFibers.cc
11>   Creating library C:/pieper/ukftractography-build/lib/Slicer-4.11/qt-loadable-modules/Debug/vtkSlicerInteractiveUKFModuleLogic.lib and object C:/pieper/ukftractography-build/lib/Slicer-4.11/qt-loadable-modules/Debug/vtkSlicerInteractiveUKFModuleLogic.exp
11>vtkSlicerInteractiveUKFModuleLogic.vcxproj -> C:\pieper\ukftractography-build\lib\Slicer-4.11\qt-loadable-modules\Debug\vtkSlicerInteractiveUKFModuleLogic.dll
16>------ Build started: Project: vtkSlicerInteractiveUKFModuleLogicPythonD, Configuration: Debug x64 ------
16>Python Wrapping - generating vtkSlicerInteractiveUKFLogicPython.cxx
15>UKFTractographyTest.vcxproj -> C:\pieper\ukftractography-build\bin\Debug\UKFTractographyTest.exe
16>Python Wrapping - generating vtkSlicerInteractiveUKFModuleLogicPythonInit.cxx
16>Building Custom Rule C:/pieper/ukftractography/InteractiveUKF/Logic/CMakeLists.txt
16>vtkSlicerInteractiveUKFLogicPython.cxx
16>vtkSlicerInteractiveUKFModuleLogicPythonInitImpl.cxx
16>Generating Code...
16>   Creating library C:/pieper/ukftractography-build/lib/Slicer-4.11/qt-loadable-modules/Debug/vtkSlicerInteractiveUKFModuleLogicPythonD.lib and object C:/pieper/ukftractography-build/lib/Slicer-4.11/qt-loadable-modules/Debug/vtkSlicerInteractiveUKFModuleLogicPythonD.exp
16>vtkSlicerInteractiveUKFModuleLogicPythonD.vcxproj -> C:\pieper\ukftractography-build\lib\Slicer-4.11\qt-loadable-modules\Debug\vtkSlicerInteractiveUKFModuleLogicPythonD.dll
17>------ Build started: Project: vtkSlicerInteractiveUKFModuleLogicPython, Configuration: Debug x64 ------
17>Building Custom Rule C:/pieper/ukftractography/InteractiveUKF/Logic/CMakeLists.txt
17>vtkSlicerInteractiveUKFModuleLogicPythonInit.cxx
17>   Creating library C:/pieper/ukftractography-build/lib/Slicer-4.11/qt-loadable-modules/Debug/vtkSlicerInteractiveUKFModuleLogicPython.lib and object C:/pieper/ukftractography-build/lib/Slicer-4.11/qt-loadable-modules/Debug/vtkSlicerInteractiveUKFModuleLogicPython.exp
17>vtkSlicerInteractiveUKFModuleLogicPython.vcxproj -> C:\pieper\ukftractography-build\lib\Slicer-4.11\qt-loadable-modules\Debug\vtkSlicerInteractiveUKFModuleLogicPython.pyd
18>------ Build started: Project: ALL_BUILD, Configuration: Debug x64 ------
18>Building Custom Rule C:/pieper/ukftractography/CMakeLists.txt
========== Build: 18 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

Thank you fro your response @pieper.

I am also using VS2019, but I am building in release mode. Could you find any solution for this?

@pieper, just an update, After building UKF module, I can run SlicerwithUKFTractography application. In this app, Slicer can actually detect UKF module. However, I cannot load the UKF module in the main slicer app.

I tried importing my own loadable module and its showing the same behaviour. I can load my loadable module with SlicerwithLoadabaleModule app but I cannot load that module in the main slicer app.

Am I missing something?

So you were able to build UKF in release mode? Did you change anything to fix the json link error? Let us know and maybe we can fix the extension build too. (Or even better, maybe you make a pull request with a fix?)

Regarding your local build, I suggest setting up the module path manually. I typically do this on the command line with the --additional-module-paths option from a script so that I can include all the local build paths conveniently for multiple extensions. But you can also do it in the Modules pane of the Application Settings.

No, I have not changed anything. I just checked SlicerwithUKFTRacktography and it worked. I can see the UI and widgets of the UKF module but its giving error on fiber generation.

About the local build. Yes I have tried to add module paths in the application setting of the main Slicer exe, but its not working. Its not detecting the UKF module. Maybe I am missing something?

I am following these steps to load the loadable module in Slicer:

" After successfully compiling the Slicer module, the Slicer module executables and libraries are located in your module build directory under lib build_dir/lib/Slicer-X.Y/module_type . Adding this directory to the Additional module paths in the Application Settings GUI within slicer, will allow testing of your module without recompiling the super-build. Refer to Directory Structure description for more details."

@pieper, I tried to load my own loadable modules, but its not loading in the main slicer app. Maybe I am missing some steps to load the loadable module. I am following the steps suggested above. Do I have to do anything else?