Question on the fatal error of FFTW.H

Dear all,

I am compiling the LAMMPS on the Ubuntu 15.04.

I have compiled the fftw2.1.5, fftw3.3.4, mpich3.2 and mpich2.1.4.1p1 on my Ubuntu 15.04. and I could get the correct directory of each versions of the fftw and mpich.

I download two version of lammps, lammps-1Feb14 (lammps-1Feb14/src/MAKE/Makefile.g++, lammps-1Feb14/src/MAKE/Makefile.openmpi), lammps-10Aug15(lammps-10Aug15/src/MAKE/Makefile.serial).
I modify the Makefile.** with the correct directory, but when I compile the lammps, the same error happens. I have tried different version fftw and mpich.

The following is the error of version lammps-1Feb14 compiled by g++.

g++ -g -O -DLAMMPS_GZIP -I…/…/lib/poems -I…/…/lib/reax -I…/…/lib/meam -DMPICH_SKIP_MPICH2 -I/opt/mpich2/include -DFFT_FFTW2 -I/opt/fftw215/include -c …/compute_com_molecule.cpp
g++ -g -O -DLAMMPS_GZIP -I…/…/lib/poems -I…/…/lib/reax -I…/…/lib/meam -DMPICH_SKIP_MPICH2 -I/opt/mpich2/include -DFFT_FFTW2 -I/opt/fftw215/include -c …/thermo.cpp
g++ -g -O -DLAMMPS_GZIP -I…/…/lib/poems -I…/…/lib/reax -I…/…/lib/meam -DMPICH_SKIP_MPICH2 -I/opt/mpich2/include -DFFT_FFTW2 -I/opt/fftw215/include -c …/compute_angle_local.cpp
g++ -g -O -DLAMMPS_GZIP -I…/…/lib/poems -I…/…/lib/reax -I…/…/lib/meam -DMPICH_SKIP_MPICH2 -I/opt/mpich2/include -DFFT_FFTW2 -I/opt/fftw215/include -c …/neigh_list.cpp
g++ -g -O -DLAMMPS_GZIP -I…/…/lib/poems -I…/…/lib/reax -I…/…/lib/meam -DMPICH_SKIP_MPICH2 -I/opt/mpich2/include -DFFT_FFTW2 -I/opt/fftw215/include -c …/pppm.cpp
In file included from …/fft3d_wrap.h:18:0,
from …/pppm.cpp:37:
…/fft3d.h:212:18: fatal error: fftw.h: no such file or directory
#include “fftw.h”
^
compilation terminated.
Makefile:100: recipe for target ‘pppm.o’ failed
make[1]: *** [pppm.o] Error 1
make[1]: Leaving directory ‘/home/ccu/lammps-1Feb14/src/Obj_g++’
Makefile:77: recipe for target ‘g++’ failed
make: *** [g++] Error 2

I donot know what I can do on the compiling of lammps, Please give me some advice.

I find some answer from the web, but I can not get the answer . http://lammps.sandia.gov/threads/msg46230.html

Dear all,

[...]

                 from ../pppm.cpp:37:
../fft3d.h:212:18: fatal error: fftw.h: no such file or directory
#include "fftw.h"
                  ^
compilation terminated.
Makefile:100: recipe for target 'pppm.o' failed
make[1]: *** [pppm.o] Error 1
make[1]: Leaving directory '/home/ccu/lammps-1Feb14/src/Obj_g++'
Makefile:77: recipe for target 'g++' failed
make: *** [g++] Error 2

I donot know what I can do on the compiling of lammps, Please give me some
advice.

your FFTW-2 installation does not match the expectation of the LAMMPS
code. FFTW is obsolete for over a decade now and *should* not been
used anyway.

you should first try to compile LAMMPS for serial with "make serial"
without any changes to the makefile.
if that works, you can move on to "make mpi" and that should also work
without changes to the makefile, if you MPI library is correctly
installed.
if it doesn't, you may need to make changes, but what that would be is
near impossible to say from remote.

also, i strongly recommend against using a LAMMPS version from 2014.
..and i also advise against compiling in the REAX package. it is
marked obsolete and has been superseded by the USER-REAXC package.

I find some answer from the web, but I can not get the answer .
http://lammps.sandia.gov/threads/msg46230.html

it just advises to compile LAMMPS without FFTW. there is no
requirement for LAMMPS be compiled against an external FFT library and
the speed impact is rather small for most users.
it primarily makes a difference, you have exploited most other ways of
tuning performance.

axel.

Dear Axel,

I will try as your advice. If there is any question, I will let you know.

I will use the FFTW-3.3.4, and compile the lammps-10Aug15 by makfile.serial. If it sucesses, I will compile the makefile.mpi. Thanks!

The error indicated the build could not find your FFTW files.

That has nothing to do with LAMMPS per se, but with where

you installed it, and how you are pointing to it in your

Makefile.machine.

Steve