Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Shraddha_Desai
Beginner
117 Views

Undefined reference to MKL or normal FFTW libraries fftwnd_f77_mpi and fftw3d_f77_mpi_* funcitons

I am trying to install one application where it is giving error :

fftw_para.o: In function `exec_fftw_para_':
fftw_para.F:(.text+0x7b): undefined reference to `fftwnd_f77_mpi_'
fftw_para.F:(.text+0xb6): undefined reference to `fftwnd_f77_mpi_'
fftw_para.o: In function `init_fftw_para_':
fftw_para.F:(.text+0x101): undefined reference to `fftw3d_f77_mpi_create_plan_'
fftw_para.F:(.text+0x129): undefined reference to `fftw3d_f77_mpi_create_plan_'
fftw_para.F:(.text+0x14d): undefined reference to `fftwnd_f77_mpi_local_sizes_'

vi Makefile

RP_LIBS = -lmkl_lapack95_lp64 -lmkl_em64t -lguide -lmkl_scalapack -lmkl_blacs_lp64 -L/home/shraddha/FFTW/para/intel/mpich2-132p1/Intel-12-0-2/normal/fftw-2.1.5/lib -lfftw_mpi -lfftw -lguide

Where FFTW-2.1.5:

./configure --prefix=/home/shraddha/FFTW/para/intel/mpich2-132p1/Intel-12-0-2/normal/fftw-2.1.5 --enable-threads --enable-mpi CC=mpicc F77=mpif90

Can you please guide me to solve this error.
0 Kudos
3 Replies
TimP
Black Belt
117 Views

I'm no expert on the MKL ffts, but you appear to be using link instructions which belong to a version of MKL which went off support several years ago, while hinting that you may be using a recent Intel compiler release which would have provided a compatible MKL library. Please consult at least the link advisor tool posted at the top of the MKL forum.
Shraddha_Desai
Beginner
117 Views

I have created the MKL wrapper library for interfaces/fftw2x_cdft module, and checked the created library libfftw2x_cdft_DOUBLE.a with nm utility,

~]$ nm /share/apps/intel/compiler/12.0.2/mkl/lib/intel64/libfftw2x_cdft_DOUBLE.a | awk '/fftwnd_f77_mpi_local_sizes/ {print $NF}'

fftwnd_f77_mpi_local_sizes
rfftwnd_f77_mpi_local_sizes

So all required funcitons are in this library.

Can you please guide me .
Gennady_F_Intel
Moderator
117 Views

MKL Forum is best place to ask this question.
Reply