cmake-basis/BASIS

Compilation error when compiling with ITK enabled in testdriver-itk.hxx

seonjoo opened this issue · 2 comments

I received the following error message when I install basis. Do you have any suggetion? My os is Centos7.

In file included from /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver.hxx:29:0,
from /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver.h:407,
from /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/src/tools/testdriver.cxx:13:
/home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx: In function ‘int RegressionTestImage(const char*, const char*, int, double, unsigned int, unsigned int, bool)’:
/home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:325:9: error: ‘itksys_ios’ has not been declared
itksys_ios::ostringstream diffName;
^
/home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:325:35: error: expected ‘;’ before ‘diffName’
itksys_ios::ostringstream diffName;
^
/home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:326:9: error: ‘diffName’ was not declared in this scope
diffName << testImageFilename << ".diff.png";
^
/home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:357:5: error: ‘itksys_ios’ has not been declared
itksys_ios::ostringstream baseName;
^
/home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:357:31: error: expected ‘;’ before ‘baseName’
itksys_ios::ostringstream baseName;
^
/home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:358:5: error: ‘baseName’ was not declared in this scope
baseName << testImageFilename << ".base.png";
^
/home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:392:5: error: ‘itksys_ios’ has not been declared
itksys_ios::ostringstream testName;
^
/home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:392:31: error: expected ‘;’ before ‘testName’
itksys_ios::ostringstream testName;
^
/home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:393:5: error: ‘testName’ was not declared in this scope
testName << testImageFilename << ".test.png";
^
make[2]: *** [src/tools/CMakeFiles/testdriver.dir/testdriver.cxx.o] Error 1
make[1]: *** [src/tools/CMakeFiles/testdriver.dir/all] Error 2
make: *** [all] Error 2

You can probably disable the itk bit, it is noncritical (unless you need itk).

Yep, as @ahundt said. The ITK code is likely a bit outdated and is required by a single binary intended for comparing two images in a regression test.