-
Notifications
You must be signed in to change notification settings - Fork 149
Errors when compiling tests #40
Comments
Hi ksarma, do a git pull and try again. Let me know how it goes! |
Thanks for your help @kaspermarstal ! It compiles now and I am able to run the tests -- unfortunately some of them are failing. Not sure if this is expected or if it is a continuation of the previous issue, so I'll paste them in for your evaluation 99% tests passed, 25 tests failed out of 2137 Total Test time (real) = 1820.68 sec The following tests FAILED: |
Thank you for the bug report. The tests had not been updated in response to internal code changes. The tests have now been updated. Unfortunately not all of the tests that fails on your system, fails on my system. Can you git pull and rerun the test suite and check if you still see failures? |
Thanks again for your help @kaspermarstal! Alas, it doesn't seem to build anymore. I did fully delete the build directory and attempt to rebuild from scratch (with my modifications to enable openCL and remove some of the pixel types). The error output is quite long so I made a log of a make attempt with the error and have attached it. |
Sorry a lot of changes happening at the moment. Git pull and try again :) |
Alas, new errors -- I didn't do a clean and build this time, though, which I am doing now. Error log attached edit: oops, wrong log |
It now builds, but still have almost all the errors. Could some of them be because I don't have all the pixel types enabled? 99% tests passed, 24 tests failed out of 2137 Total Test time (real) = 1823.06 sec The following tests FAILED: |
Using a different machine without openCL enabled or the pixel types changed (but with -DUSE_KNNGraphAlphaMutualInformationMetric:BOOL=ON rather than OFF which it is stock), I get a different and much smaller set of errors: 99% tests passed, 3 tests failed out of 2137 Total Test time (real) = 3755.63 sec The following tests FAILED: |
You are absolutely correct, Elastix needs to be compiled with the pixel types used in the tests. As for the remaining tests, can you run
in the |
$ ./SimpleITKUnitTestDriver0 --gtest_filter=ElastixFilterTest.UpdateOnGetTransformParametersEuler2D [----------] Global test environment tear-down 1 FAILED TEST $ ./SimpleITKUnitTestDriver0 --gtest_filter=TransformixFilterTest.UpdateOnGetTransformParameterObject [----------] Global test environment tear-down 1 FAILED TEST |
Ah. Don't worry about these tests, they are concerned with deprecated functionality and have now been removed. |
Sounds good. Thanks again for all of your help! FYI, I compiled a vanilla version with only -DUSE_KNNGraphAlphaMutualInformationMetric:BOOL=ON (rather than the default off) on the original machine and confirmed that only those two tests fail. By the way, is there a reason that that one is default off? Does it not work properly in SimpleElastix? |
One last confirmation - was able to compile with openCL enabled and all default pixel types and still only those two tests fail. So, seems likely it was a pixel type issue for the others (PS: running make -j1 still had a peak memory usage of over 80GB for the build with openCL enabled!) |
Due some license restrictions, some of the functionality of the KNNGraphAlphaMutualInformationMetric is compiled into a library separate from elastix and transformix. This causes linking issues on some systems, which is why it is OFF by default. Wow, 80Gb? You must have a mean machine! |
Hmm, ok, thanks! Is there something I need to do other than set -DUSE_KNNGraphAlphaMutualInformationMetric:BOOL=ON to get it to build on linux (or is that the platform it doesn't work on?) I did try just doing that, but I still get a "this component is not installed" error |
No that should be it. Did you spell it correctly? It should be "KNNGraphAlphaMutualInformation" |
Ha, you're right, I had it specified wrong. It now all seems to be working. Thanks again for all of your help (and of course for your effort to make such a useful package!) @kaspermarstal ! |
No problem! Hope you will find it useful 😊 |
Hello,
I'm trying to build SimpleElastix using the SuperBuild, but am running into some problems (compilation errors below). Not sure if the problem is something that I am doing though -- I did enable openCL using the procedure followed by @PertuyF in #4 and had to change the pixel types to unsigned char;char;unsigned short;short;float for 2D, 3D, and 4D in order to make it compile at all with openCL (otherwise the process would crash after eating more than 20G of RAM).
Figured I would post this here in the event it is indeed a bug.
Thanks,
Karthik
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/sitkSimpleElastixTests.cxx: In member function ‘virtual void itk::simple::SimpleElastix_ProceduralInterface_Test::TestBody()’:
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/sitkSimpleElastixTests.cxx:137:82: error: call of overloaded ‘Elastix(itk::simple::Image&, itk::simple::Image&, const char [12
], bool, bool)’ is ambiguous
EXPECT_NO_THROW( Elastix( fixedImage, movingImage, "translation", false, false ) );
^
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/GoogleTest/gtest/gtest.h:7800:44: note: in definition of macro ‘GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_’
if (::testing::internal::AlwaysTrue()) { statement; }
^
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/GoogleTest/gtest/gtest.h:18808:3: note: in expansion of macro ‘GTEST_TEST_NO_THROW_’
GTEST_TEST_NO_THROW_(statement, GTEST_NONFATAL_FAILURE_)
^
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/sitkSimpleElastixTests.cxx:137:3: note: in expansion of macro ‘EXPECT_NO_THROW’
EXPECT_NO_THROW( Elastix( fixedImage, movingImage, "translation", false, false ) );
^
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/sitkSimpleElastixTests.cxx:137:82: note: candidates are:
EXPECT_NO_THROW( Elastix( fixedImage, movingImage, "translation", false, false ) );
^
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/GoogleTest/gtest/gtest.h:7800:44: note: in definition of macro ‘GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_’
if (::testing::internal::AlwaysTrue()) { statement; }
^
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/GoogleTest/gtest/gtest.h:18808:3: note: in expansion of macro ‘GTEST_TEST_NO_THROW_’
GTEST_TEST_NO_THROW_(statement, GTEST_NONFATAL_FAILURE_)
^
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/sitkSimpleElastixTests.cxx:137:3: note: in expansion of macro ‘EXPECT_NO_THROW’
EXPECT_NO_THROW( Elastix( fixedImage, movingImage, "translation", false, false ) );
^
In file included from /home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/sitkSimpleElastixTests.cxx:3:0:
/home/ksarma/Documents/Utilities/SimpleElastix/Code/Elastix/include/sitkSimpleElastix.h:184:25: note: itk::simple::Image itk::simple::Elastix(const itk::simple::Image&, const itk::simple::Image&, bool, bool, std::string)
SITKCommon_EXPORT Image Elastix( const Image& fixedImage, const Image& movingImage, const bool logToConsole = false, const bool logToFile = false, const std::string outputDirectory = "." );
^
/home/ksarma/Documents/Utilities/SimpleElastix/Code/Elastix/include/sitkSimpleElastix.h:186:25: note: itk::simple::Image itk::simple::Elastix(const itk::simple::Image&, const itk::simple::Image&, std::string, bool, bool, std::string)
SITKCommon_EXPORT Image Elastix( const Image& fixedImage, const Image& movingImage, const std::string defaultParameterMapName, const bool logToConsole = false, const bool logToFile = false, const std::string outputDirectory = "." );
^
In file included from /home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/SimpleITKTestHarness.h:45:0,
from /home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/sitkSimpleElastixTests.cxx:1:
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/sitkSimpleElastixTests.cxx:139:81: error: call of overloaded ‘Elastix(itk::simple::Image&, itk::simple::Image&, const char [12], bool, bool)’ is ambiguous
EXPECT_NO_THROW( Elastix( fixedImage, movingImage, "translation", true, false ) );
^
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/GoogleTest/gtest/gtest.h:7800:44: note: in definition of macro ‘GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_’
if (::testing::internal::AlwaysTrue()) { statement; }
^
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/GoogleTest/gtest/gtest.h:18808:3: note: in expansion of macro ‘GTEST_TEST_NO_THROW_’
GTEST_TEST_NO_THROW_(statement, GTEST_NONFATAL_FAILURE_)
^
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/sitkSimpleElastixTests.cxx:139:3: note: in expansion of macro ‘EXPECT_NO_THROW’
EXPECT_NO_THROW( Elastix( fixedImage, movingImage, "translation", true, false ) );
^
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/sitkSimpleElastixTests.cxx:139:81: note: candidates are:
EXPECT_NO_THROW( Elastix( fixedImage, movingImage, "translation", true, false ) );
^
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/GoogleTest/gtest/gtest.h:7800:44: note: in definition of macro ‘GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_’
if (::testing::internal::AlwaysTrue()) { statement; }
^
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/GoogleTest/gtest/gtest.h:18808:3: note: in expansion of macro ‘GTEST_TEST_NO_THROW_’
GTEST_TEST_NO_THROW_(statement, GTEST_NONFATAL_FAILURE_)
^
/home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/sitkSimpleElastixTests.cxx:139:3: note: in expansion of macro ‘EXPECT_NO_THROW’
EXPECT_NO_THROW( Elastix( fixedImage, movingImage, "translation", true, false ) );
^
In file included from /home/ksarma/Documents/Utilities/SimpleElastix/Testing/Unit/sitkSimpleElastixTests.cxx:3:0:
/home/ksarma/Documents/Utilities/SimpleElastix/Code/Elastix/include/sitkSimpleElastix.h:184:25: note: itk::simple::Image itk::simple::Elastix(const itk::simple::Image&, const itk::simple::Image&, bool, bool, std::string)
SITKCommon_EXPORT Image Elastix( const Image& fixedImage, const Image& movingImage, const bool logToConsole = false, const bool logToFile = false, const std::string outputDirectory = "." );
^
/home/ksarma/Documents/Utilities/SimpleElastix/Code/Elastix/include/sitkSimpleElastix.h:186:25: note: itk::simple::Image itk::simple::Elastix(const itk::simple::Image&, const itk::simple::Image&, std::string, bool, bool, std::string)
SITKCommon_EXPORT Image Elastix( const Image& fixedImage, const Image& movingImage, const std::string defaultParameterMapName, const bool logToConsole = false, const bool logToFile = false, const std::string outputDirectory = "." );
^
Testing/Unit/CMakeFiles/SimpleITKUnitTestDriver0.dir/build.make:422: recipe for target 'Testing/Unit/CMakeFiles/SimpleITKUnitTestDriver0.dir/sitkSimpleElastixTests.cxx.o' failed
make[5]: *** [Testing/Unit/CMakeFiles/SimpleITKUnitTestDriver0.dir/sitkSimpleElastixTests.cxx.o] Error 1
CMakeFiles/Makefile2:2866: recipe for target 'Testing/Unit/CMakeFiles/SimpleITKUnitTestDriver0.dir/all' failed
make[4]: *** [Testing/Unit/CMakeFiles/SimpleITKUnitTestDriver0.dir/all] Error 2
Makefile:146: recipe for target 'all' failed
make[3]: *** [all] Error 2
CMakeFiles/SimpleITK.dir/build.make:113: recipe for target 'SimpleITK-prefix/src/SimpleITK-stamp/SimpleITK-build' failed
make[2]: *** [SimpleITK-prefix/src/SimpleITK-stamp/SimpleITK-build] Error 2
CMakeFiles/Makefile2:132: recipe for target 'CMakeFiles/SimpleITK.dir/all' failed
make[1]: *** [CMakeFiles/SimpleITK.dir/all] Error 2
Makefile:75: recipe for target 'all' failed
make: *** [all] Error 2
The text was updated successfully, but these errors were encountered: