daviddoria / PatchBasedInpainting

A patch based image inpainting framework.
Apache License 2.0
46 stars 17 forks source link

compilation error #5

Closed arnaudgelas closed 12 years ago

arnaudgelas commented 12 years ago

I know it is related to VXL, but it should be mentioned here.

/home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:366:29: error: ‘constexpr’ needed for in-class initialization of static data member ‘zero’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:368:28: error: ‘constexpr’ needed for in-class initialization of static data member ‘one’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:370:31: error: ‘constexpr’ needed for in-class initialization of static data member ‘maxval’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:389:30: error: ‘constexpr’ needed for in-class initialization of static data member ‘zero’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:391:29: error: ‘constexpr’ needed for in-class initialization of static data member ‘one’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:393:32: error: ‘constexpr’ needed for in-class initialization of static data member ‘maxval’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:412:35: error: ‘constexpr’ needed for in-class initialization of static data member ‘zero’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:414:34: error: ‘constexpr’ needed for in-class initialization of static data member ‘one’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:416:37: error: ‘constexpr’ needed for in-class initialization of static data member ‘maxval’ of non-integral type In file included from /home/ajg23/DEVEL/ITK/Modules/Core/Common/include/itkVector.hxx:21:0, from /home/ajg23/DEVEL/ITK/Modules/Core/Common/include/itkVector.h:304, from /home/ajg23/DEVEL/ITK/Modules/Core/Common/include/itkCovariantVector.h:23, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/ImageTypes.h:22, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.h:22, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.cpp:19: /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:87:27: error: ‘constexpr’ needed for in-class initialization of static data member ‘e’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:88:31: error: ‘constexpr’ needed for in-class initialization of static data member ‘log2e’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:89:32: error: ‘constexpr’ needed for in-class initialization of static data member ‘log10e’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:90:29: error: ‘constexpr’ needed for in-class initialization of static data member ‘ln2’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:91:30: error: ‘constexpr’ needed for in-class initialization of static data member ‘ln10’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:92:28: error: ‘constexpr’ needed for in-class initialization of static data member ‘pi’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:93:35: error: ‘constexpr’ needed for in-class initialization of static data member ‘pi_over_2’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:94:35: error: ‘constexpr’ needed for in-class initialization of static data member ‘pi_over_4’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:95:37: error: ‘constexpr’ needed for in-class initialization of static data member ‘one_over_pi’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:96:37: error: ‘constexpr’ needed for in-class initialization of static data member ‘two_over_pi’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:97:41: error: ‘constexpr’ needed for in-class initialization of static data member ‘two_over_sqrtpi’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:98:42: error: ‘constexpr’ needed for in-class initialization of static data member ‘one_over_sqrt2pi’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:99:31: error: ‘constexpr’ needed for in-class initialization of static data member ‘sqrt2’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:100:33: error: ‘constexpr’ needed for in-class initialization of static data member ‘sqrt1_2’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:101:31: error: ‘constexpr’ needed for in-class initialization of static data member ‘euler’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:104:29: error: ‘constexpr’ needed for in-class initialization of static data member ‘eps’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:105:33: error: ‘constexpr’ needed for in-class initialization of static data member ‘sqrteps’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:107:34: error: ‘constexpr’ needed for in-class initialization of static data member ‘float_eps’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:108:38: error: ‘constexpr’ needed for in-class initialization of static data member ‘float_sqrteps’ of non-integral type In file included from /home/ajg23/DEVEL/ITK/Modules/Core/Common/include/itkGaussianSpatialFunction.h:120:0, from /home/ajg23/DEVEL/ITK/Modules/Filtering/ImageSource/include/itkGaussianImageSource.hxx:22, from /home/ajg23/DEVEL/ITK/Modules/Filtering/ImageSource/include/itkGaussianImageSource.h:148, from /home/ajg23/DEVEL/ITK/Modules/Filtering/ImageFeature/include/itkBilateralImageFilter.hxx:23, from /home/ajg23/DEVEL/ITK/Modules/Filtering/ImageFeature/include/itkBilateralImageFilter.h:248, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ITKHelpers/ITKHelpers.hpp:29, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ITKHelpers/ITKHelpers.h:486, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.hxx:21, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.h:64, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.cpp:19: /home/ajg23/DEVEL/ITK/Modules/Core/Common/include/itkGaussianSpatialFunction.hxx: In member function ‘itk::GaussianSpatialFunction<TOutput, VImageDimension, TInput>::OutputType itk::GaussianSpatialFunction<TOutput, VImageDimension, TInput>::Evaluate(const TInput&) const’: /home/ajg23/DEVEL/ITK/Modules/Core/Common/include/itkGaussianSpatialFunction.hxx:57:56: error: ‘pi’ is not a member of ‘vnl_math’ In file included from /home/ajg23/DEVEL/ITK/Modules/Filtering/ImageFeature/include/itkBilateralImageFilter.h:248:0, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ITKHelpers/ITKHelpers.hpp:29, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ITKHelpers/ITKHelpers.h:486, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.hxx:21, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.h:64, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.cpp:19: /home/ajg23/DEVEL/ITK/Modules/Filtering/ImageFeature/include/itkBilateralImageFilter.hxx: In member function ‘void itk::BilateralImageFilter<TInputImage, TOutputImage>::BeforeThreadedGenerateData()’: /home/ajg23/DEVEL/ITK/Modules/Filtering/ImageFeature/include/itkBilateralImageFilter.hxx:209:57: error: ‘pi’ is not a member of ‘vnl_math’

daviddoria commented 12 years ago

You have to compile ITK with c++0x enabled by adding -std=gnu++0x to CMAKE_CXX_FLAGS

NOTE: you cannot configure ITK and THEN set CMAKE_CXX_FLAGS and reconfigure - you MUST run:

ccmake ~/src/ITK -DCMAKE_CXX_FLAGS=-std=gnu++0x

to set it the very first time. Seems really silly to me, but this fix is thanks to Brad King.

arnaudgelas commented 12 years ago

In this particular case an external project would be good ;)

daviddoria commented 12 years ago

I'm not familiar with term, can you elaborate?

arnaudgelas commented 12 years ago

for instance something like this

set( ITK_TAG "v4.1.0" )

ExternalProject_Add( ITK GIT_REPOSITORY "${git_protocol}://itk.org/ITK.git" GIT_TAG "${ITK_TAG}" SOURCE_DIR ITK BINARY_DIR ITK-build CMAKE_GENERATOR ${gen} CMAKE_ARGS ${ep_common_args} -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_EXAMPLES:BOOL=OFF -DBUILD_TESTING:BOOL=OFF -DITK_BUILD_ALL_MODULES:BOOL=ON -DITK_USE_REVIEW:BOOL=ON INSTALL_COMMAND "" )

daviddoria commented 12 years ago

Interesting - I'll look into it. I'm assuming I could add some conditionals to check if the settings were correct on the local ITK build and use the external project only if they were not?

arnaudgelas commented 12 years ago

As long as you can access the settings at cmake time, sure! For more examples, you can have a look at ITKExamples

arnaudgelas commented 12 years ago

When I compiled ITK with this flag, I get the following errors:

[ 2%] Building CXX object Modules/ThirdParty/VNL/src/vxl/core/vnl/CMakeFiles/itkvnl.dir/vnl_math.cxx.o In file included from /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:8:0: /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:87:27: error: ‘constexpr’ needed for in-class initialization of static data member ‘e’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:88:31: error: ‘constexpr’ needed for in-class initialization of static data member ‘log2e’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:89:32: error: ‘constexpr’ needed for in-class initialization of static data member ‘log10e’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:90:29: error: ‘constexpr’ needed for in-class initialization of static data member ‘ln2’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:91:30: error: ‘constexpr’ needed for in-class initialization of static data member ‘ln10’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:92:28: error: ‘constexpr’ needed for in-class initialization of static data member ‘pi’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:93:35: error: ‘constexpr’ needed for in-class initialization of static data member ‘pi_over_2’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:94:35: error: ‘constexpr’ needed for in-class initialization of static data member ‘pi_over_4’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:95:37: error: ‘constexpr’ needed for in-class initialization of static data member ‘one_over_pi’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:96:37: error: ‘constexpr’ needed for in-class initialization of static data member ‘two_over_pi’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:97:41: error: ‘constexpr’ needed for in-class initialization of static data member ‘two_over_sqrtpi’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:98:42: error: ‘constexpr’ needed for in-class initialization of static data member ‘one_over_sqrt2pi’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:99:31: error: ‘constexpr’ needed for in-class initialization of static data member ‘sqrt2’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:100:33: error: ‘constexpr’ needed for in-class initialization of static data member ‘sqrt1_2’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:101:31: error: ‘constexpr’ needed for in-class initialization of static data member ‘euler’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:104:29: error: ‘constexpr’ needed for in-class initialization of static data member ‘eps’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:105:33: error: ‘constexpr’ needed for in-class initialization of static data member ‘sqrteps’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:107:34: error: ‘constexpr’ needed for in-class initialization of static data member ‘float_eps’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:108:38: error: ‘constexpr’ needed for in-class initialization of static data member ‘float_sqrteps’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:84:24: error: ‘const double vnl_math::e’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:84:14: error: uninitialized const ‘vnl_math::e’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:85:24: error: ‘const double vnl_math::log2e’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:85:14: error: uninitialized const ‘vnl_math::log2e’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:86:24: error: ‘const double vnl_math::log10e’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:86:14: error: uninitialized const ‘vnl_math::log10e’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:87:24: error: ‘const double vnl_math::ln2’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:87:14: error: uninitialized const ‘vnl_math::ln2’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:88:24: error: ‘const double vnl_math::ln10’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:88:14: error: uninitialized const ‘vnl_math::ln10’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:89:24: error: ‘const double vnl_math::pi’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:89:14: error: uninitialized const ‘vnl_math::pi’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:90:24: error: ‘const double vnl_math::pi_over_2’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:90:14: error: uninitialized const ‘vnl_math::pi_over_2’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:91:24: error: ‘const double vnl_math::pi_over_4’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:91:14: error: uninitialized const ‘vnl_math::pi_over_4’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:92:24: error: ‘const double vnl_math::one_over_pi’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:92:14: error: uninitialized const ‘vnl_math::one_over_pi’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:93:24: error: ‘const double vnl_math::two_over_pi’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:93:14: error: uninitialized const ‘vnl_math::two_over_pi’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:94:24: error: ‘const double vnl_math::two_over_sqrtpi’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:94:14: error: uninitialized const ‘vnl_math::two_over_sqrtpi’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:95:24: error: ‘const double vnl_math::one_over_sqrt2pi’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:95:14: error: uninitialized const ‘vnl_math::one_over_sqrt2pi’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:96:24: error: ‘const double vnl_math::sqrt2’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:96:14: error: uninitialized const ‘vnl_math::sqrt2’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:97:24: error: ‘const double vnl_math::sqrt1_2’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:97:14: error: uninitialized const ‘vnl_math::sqrt1_2’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:98:24: error: ‘const double vnl_math::euler’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:98:14: error: uninitialized const ‘vnl_math::euler’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:101:24: error: ‘const double vnl_math::eps’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:101:14: error: uninitialized const ‘vnl_math::eps’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:102:24: error: ‘const double vnl_math::sqrteps’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:102:14: error: uninitialized const ‘vnl_math::sqrteps’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:105:23: error: ‘const float vnl_math::float_eps’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:105:13: error: uninitialized const ‘vnl_math::float_eps’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:106:23: error: ‘const float vnl_math::float_sqrteps’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:106:13: error: uninitialized const ‘vnl_math::float_sqrteps’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx: In static member function ‘static double vnl_math::angle_0_to_2pi(double)’: /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:291:16: error: ‘pi’ is not a member of ‘vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:292:28: error: ‘pi’ is not a member of ‘vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:294:12: error: ‘pi’ is not a member of ‘vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:294:47: error: ‘pi’ is not a member of ‘vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:304:21: error: ‘pi’ is not a member of ‘vnl_math’ make[2]: * [Modules/ThirdParty/VNL/src/vxl/core/vnl/CMakeFiles/itkvnl.dir/vnl_math.cxx.o] Error 1 make[1]: * [Modules/ThirdParty/VNL/src/vxl/core/vnl/CMakeFiles/itkvnl.dir/all] Error 2

daviddoria commented 12 years ago

Is it a reasonably new ITK? And also did you run this command on a brand new build directory?

ccmake ~/src/ITK -DCMAKE_CXX_FLAGS=-std=gnu++0x

so that the flag was set the very first time configure was run? If you did those things I'm not sure what else to tell you?

arnaudgelas commented 12 years ago

it is the master branch from this morning, and from a brand new build dir...

I used gcc 4.6.3 and cmake 2.8.7, I ll retry now

arnaudgelas commented 12 years ago

same thing... I am shooting an email on the list

daviddoria commented 12 years ago

This was fixed by passing the flag as an argument the very first time cmake is run in an empty build directory:

ccmake ~/src/ITK -DCMAKE_CXX_FLAGS=-std=gnu++0x