[Insight-developers] FFTW not working

Williams, Norman K norman-k-williams at uiowa.edu
Tue Apr 19 10:39:30 EDT 2011


I'm doing a build right now to see if I can duplicate the problem.

There seems to be a problem with respect to where the FFTW header files
are being searched for; the place the files are being installed --
${CMAKE_BINARY_DIR}/fftw/include -- isn't on the include path.

I'm testing a fix for this, but since it involves changing compiler flags,
it's triggered a complete rebuild of ITK.

If you want to try it yourself, this is what is involved.

diff --git a/CMake/itkExternal_FFTW.cmake b/CMake/itkExternal_FFTW.cmake
index 96f93ee..7c48f0b 100644
--- a/CMake/itkExternal_FFTW.cmake
+++ b/CMake/itkExternal_FFTW.cmake
@@ -85,6 +85,7 @@ else(USE_SYSTEM_FFTW)
         )
     endif(USE_FFTWD)
     link_directories(${ITK_BINARY_DIR}/fftw/lib)
+    include_directories(${ITK_BINARY_DIR}/fftw/include)
     # backwards compatibility
     set(FFTW_INCLUDE_PATH ${ITK_BINARY_DIR}/fftw/include)
     #


On 4/18/11 6:23 PM, "gang song" <songgang97 at gmail.com> wrote:


>Hi,
>
>I could not compile today's ITK with FFTW with these CMake options:
>
>
> BUILD_DOCUMENTATION              OFF
> BUILD_EXAMPLES                   OFF
> BUILD_SHARED_LIBS                OFF
> BUILD_TESTING                    ON
> CMAKE_BUILD_TYPE                 Release
> DART_TESTING_TIMEOUT             1500
> ITKV3_COMPATIBILITY              OFF
> ITK_BUILD_ALL_MODULES            ON
>
>USE_FFTWD                        ON
>USE_FFTWF                        ON
>USE_SYSTEM_FFTW                  OFF
>
>The OS is Linux (CentOS). No fftw library has been installed in the
>system path.
>
>ITK did download fftw in the first step and compiled successfully
>
>[  0%] Built target fftwd
>[  1%] Built target fftwf
>
>
>But then it came to this error -- seems that many FFTW related
>variables are broken:
>
>
>[ 59%] Building CXX object
>Modules/Filtering/FFT/src/CMakeFiles/ITK-FFT.dir/itkFFTWGlobalConfiguratio
>n.cxx.o
>In file included from
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:18:
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/include/itkFFTWGlob
>alConfiguration.h:30:19:
>error: fftw3.h: No such file or directory
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:
>In static member function Œstatic int
>itk::FFTWGlobalConfiguration::GetPlanRigorValue(const std::string&)¹:
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:44:
>error: ŒFFTW_ESTIMATE¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:48:
>error: ŒFFTW_MEASURE¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:52:
>error: ŒFFTW_PATIENT¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:56:
>error: ŒFFTW_EXHAUSTIVE¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:
>In static member function Œstatic std::string
>itk::FFTWGlobalConfiguration::GetPlanRigorName(const int&)¹:
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:67:
>error: ŒFFTW_ESTIMATE¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:69:
>error: ŒFFTW_MEASURE¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:71:
>error: ŒFFTW_PATIENT¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:73:
>error: ŒFFTW_EXHAUSTIVE¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:
>In constructor Œitk::FFTWGlobalConfiguration::FFTWGlobalConfiguration()¹:
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:147:
>error: ŒFFTW_ESTIMATE¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:165:
>error: Œfftwf_init_threads¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:171:
>error: Œfftw_init_threads¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:231:
>error: Œfftwf_import_system_wisdom¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:235:
>error: Œfftw_import_system_wisdom¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:
>In destructor Œvirtual
>itk::FFTWGlobalConfiguration::~FFTWGlobalConfiguration()¹:
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:266:
>error: Œfftwf_cleanup_threads¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:267:
>error: Œfftwf_cleanup¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:270:
>error: Œfftw_cleanup_threads¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:271:
>error: Œfftw_cleanup¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:
>In static member function Œstatic bool
>itk::FFTWGlobalConfiguration::ImportWisdomFileFloat(const
>std::string&)¹:
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:343:
>error: Œfftwf_import_wisdom_from_file¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:
>In static member function Œstatic bool
>itk::FFTWGlobalConfiguration::ImportWisdomFileDouble(const
>std::string&)¹:
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:374:
>error: Œfftw_import_wisdom_from_file¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:
>In static member function Œstatic bool
>itk::FFTWGlobalConfiguration::ExportWisdomFileFloat(const
>std::string&)¹:
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:411:
>error: Œfftwf_export_wisdom_to_file¹ was not declared in this scope
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:
>In static member function Œstatic bool
>itk::FFTWGlobalConfiguration::ExportWisdomFileDouble(const
>std::string&)¹:
>/home/songgang/project/ITKv4/ITK/Modules/Filtering/FFT/src/itkFFTWGlobalCo
>nfiguration.cxx:442:
>error: Œfftw_export_wisdom_to_file¹ was not declared in this scope
>make[2]: ***
>[Modules/Filtering/FFT/src/CMakeFiles/ITK-FFT.dir/itkFFTWGlobalConfigurati
>on.cxx.o]
>Error 1
>make[1]: *** [Modules/Filtering/FFT/src/CMakeFiles/ITK-FFT.dir/all] Error
>2
>make: *** [all] Error 2
>
>
>
>Thanks for any suggestion
>
>-Gang
>_______________________________________________
>Powered by www.kitware.com
>
>Visit other Kitware open-source projects at
>http://www.kitware.com/opensource/opensource.html
>
>Kitware offers ITK Training Courses, for more information visit:
>http://kitware.com/products/protraining.html
>
>Please keep messages on-topic and check the ITK FAQ at:
>http://www.itk.org/Wiki/ITK_FAQ
>
>Follow this link to subscribe/unsubscribe:
>http://www.itk.org/mailman/listinfo/insight-developers



________________________________
Notice: This UI Health Care e-mail (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged.  If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited.  Please reply to the sender that you have received the message in error, then delete it.  Thank you.
________________________________


More information about the Insight-developers mailing list