I’m having trouble getting lammps to compile on one of the Teragrid computers (NCSA - Abe). The problem seems to be linking to the fftw library. I am puzzled as to what to try next. A google search turned up an old post to the CPMD mailing list (replied to by Alex K.) suggesting that there is a conflict with 32 vs 64 bit compilers, but I am unsure how to resolve this issue.
First, I compiled my own copy of fftw v2.1.5 using
./configure --prefix=${HOME}/fftw-2.1.5 --disable-shared
make
make install
Next, I set up my lammps makefile to point to it:
FFT_INC = -DFFT_FFT
FFT_PATH = -L ${HOME}/fftw-2.1.5/
FFT_LIB = -lfftw
Everything compiles fine until it tries to link the .o files and it gives me the following error:
/usr/local/intel/10.1.017/lib/libimf.so: warning: warning: feupdateenv is not im
plemented and will always fail
fft3d.o(.text+0xab): In function fft_1d_only(FFT_DATA*, int, int, fft_plan_3d*) ': : undefined reference to
zfft1d_’
fft3d.o(.text+0xf3): In function fft_1d_only(FFT_DATA*, int, int, fft_plan_3d*) ': : undefined reference to
zfft1d_’
fft3d.o(.text+0x130): In function `fft_1d_only(FFT_DATA*, int, int, fft_plan_3d*
)’:
I also tried using the installed version of fftw v2.1.5 (doc: http://hpcsoftware.ncsa.illinois.edu/Software/user/show_all.php?deploy_id=725&view=NCSA)
with the same results.
A slight modification to the makefile, yields different results:
FFT_INC = -DFFT_FFT
FFT_PATH = ${HOME}/fftw-2.1.5/
FFT_LIB = -lfftw
Result:
ipo: error #11021: OBJREAD Error: Could not create mapping for /u/ac/jschall/fftw-2.1.5
icpc: error #10014: problem during multi-file optimization compilation (code 1)
make[1]: *** […/lmp_abe] Error 1
make[1]: Leaving directory `/u/ac/jschall/lammps/src/Obj_abe’
make: *** [abe] Error 2
Thanks inadvance.