Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29243 Discussions

FFTW problems -- Intel C, Intel Fortran, Redhat Linux

tasgal
Beginner
576 Views
We (computer support staff and myself; I'm not really a computer person) are failing to get the FFTW routines (C programs with accompanying Fortran wrappers) to work. I've gotten to a dead end trying to understand the various manuals and these Intel software forums. Support staff can think of thousands of things to vary, but no obvious ones.

The system is a 64-bit computer. The operating system is
Redhat AS 4.4 ,
Linux 2.6.9-22.ELsmp x86_64 GNU/Linux .
The compilers are
Intel Fortran Compiler 9.1.045 for Linux ,
Intel C++ Compiler 10.0.025 for Linux .
The version of FFTW is 3.1.2.

The programs compile in C, but the Fortran wrappers do not. It seems to have something to do with finding things in the FFTW library. When I compile a simple test program with this statement
ifort -o test.out test.f90 -L/usr/local/lib -lfftw3
I get the error
/usr/local/lib/libfftw3.a(mapflags.o)(.text+0x289): In function `fftw_mapflags':
: undefined reference to `__intel_f2int'
The reference does not appear in my own program, but is something internal to FFTW (but which does not appear in the manuals).

Help. Please. Thanks.

Rich Tasgal
http://www.bgu.ac.il/~tasgal/


0 Kudos
2 Replies
TimP
Honored Contributor III
576 Views
I'm guessing you ran into this problem because you are linking code compiled by both icc 10.0 and ifort 9.1, but apparently linking with the older library. The 10.0 compilers introduced additional run-time support functions. If you don't want to upgrade the Fortran, try linking with the newer libraries first. You may have to search the library directories to find out which library from icc is required and specify that one explicitly.
0 Kudos
tasgal
Beginner
576 Views
That was it! The FFTW routines and Fortran wrappers compiled successfully with Intel Fortran for Linux 10.0.025. Thanks!

Rich (wondering if there was a way for a non-expert to figure it out)



0 Kudos
Reply