I have tried in vain to get an application, built with ifort version 8.1, to link against the fftw3 library. Below are some attempts.
(i) link application against system-prebuilt libfftw3 (system is SUSE Linux 9.1, gcc version is 3.3.3):
This should work in principle. Linking is only possible against the .so version of the non-ifort library. The .a version claims missing symbols, although all relevant symbols are included with one and two underscores appended.
The version linked against .so runs without crashing. however produces bogus results.
(ii) Build fftw3 using CC=icc, FC=ifort : This does not work (in the configure file) unless one specifies all Fortran libraries by hand. Otherwise, the configure command attempts to include a bogus library -lm" (yes, the " is correct) and stops.
Including the fortran libraries by hand produces a complete .a archive, now compiled with icc / ifort. However, it is not possible to link against this newly built .a archive. ifort continues to claim that the relevant symbols cannot be found.
(iii) same build, but with shared object files:
Miraculously, it is possible to link against (ifort-built) shared objects from the same build. When the ensuing executable is executed, the program terminates with this error:
error while loading shared libraries: undefined symbol: _intel_fast_memset
Here I am at wit's end. This has cost me hours, so far, with no success. Does anyone have an answer to this? Specific questions are also welcome.