Difference between revisions of "Slicer:Slicer 2.6 Building Leopard"
From NAMIC Wiki
Line 26: | Line 26: | ||
#define isnan(x) std::isnan(x) | #define isnan(x) std::isnan(x) | ||
− | + | Save the file and run genlib.tcl again. |
Revision as of 21:12, 23 April 2008
Home < Slicer:Slicer 2.6 Building LeopardWhen you run ./slicer2/Scripts/genlib.tcl, you will get errors when trying to build incrTcl.
Running genlib.tcl again, the build should continue until partially through the ITK build, and then you will see this error:
Building CXX object Utilities/vxl/core/vnl/CMakeFiles/itkvnl.dir/vnl_math.o /Users/hayes/slicer2/Lib/darwin-x86/Insight/Utilities/vxl/core/vnl/vnl_math.cxx: In function 'bool vnl_math_isinf(float)': /Users/hayes/slicer2/Lib/darwin-x86/Insight/Utilities/vxl/core/vnl/vnl_math.cxx:221: error: '__isnand' was not declared in this scope /Users/hayes/slicer2/Lib/darwin-x86/Insight/Utilities/vxl/core/vnl/vnl_math.cxx: In function 'bool vnl_math_isinf(double)': /Users/hayes/slicer2/Lib/darwin-x86/Insight/Utilities/vxl/core/vnl/vnl_math.cxx:223: error: '__isnand' was not declared in this scope /Users/hayes/slicer2/Lib/darwin-x86/Insight/Utilities/vxl/core/vnl/vnl_math.cxx: In function 'bool vnl_math_isinf(long double)': /Users/hayes/slicer2/Lib/darwin-x86/Insight/Utilities/vxl/core/vnl/vnl_math.cxx:225: error: '__isnand' was not declared in this scope make[2]: *** [Utilities/vxl/core/vnl/CMakeFiles/itkvnl.dir/vnl_math.o] Error 1 make[1]: *** [Utilities/vxl/core/vnl/CMakeFiles/itkvnl.dir/all] Error 2 make: *** [all] Error 2
This is due to a bug in ITK 2.6. You can either upgrade to a newer version of ITK, or open up the file:
slicer2/Lib/darwin-x86/Insight/Utilities/vxl/core/vnl/vnl_math.cxx
in a text editor, and remove line 66:
# define isnan(x) __isnand((double)x)
and replace it with the following:
#define isnan(x) std::isnan(x)
Save the file and run genlib.tcl again.