INSTALLATION

Hi all

I installed mpich2-1.4 and fftw-2.1.5 on a node of a cluster, then I inserted their addresses into Make.file Linux but when I make and the make linux I have the following error. would you please help me?

In file included from fft3d_wrap.h:18,
from fft3d_wrap.cpp:15:
fft3d.h:164:18: error: fftw.h: No such file or directory
make[1]: *** [fft3d_wrap.d] Error 1
make[1]: Leaving directory `/home/elena/lammps20Apr/src/Obj_linux’
make: *** [linux] Error 2

Thanks alot

Regards

Elena

Hi all

I installed mpich2-1.4 and fftw-2.1.5 on a node of a cluster, then I
inserted their addresses into Make.file Linux but when I make and the make
linux I have the following error. would you please help me?

whatever you did to the makefile, it was not correct.

the error message tells you that the compiler cannot find the
fftw header file, which only happens if either fftw-2.x is not installed
or the makefile is not pointing toward it.

axel.

Hi

I modified the Makefile as the following:

linux = RedHat Linux box, Intel icc, Intel ifort, MPICH2, FFTW

SHELL = /bin/sh

---------------------------------------------------------------------

compiler/linker settings

specify flags and libraries needed for your compiler

CC = /home/elena/mpich2-install/bin/mpicc
CCFLAGS = -g -O -L/home/elena/fftw-2.1.5/prefix/include -DFFT_FFTW -DOMPI$
DEPFLAGS = -M
LINK = /home/elena/mpich2-install/bin/mpicc
LINKFLAGS = -O -L/home/elena/mpich2-install/lib -L/home/elena/fftw-2.1.5/pr$
LIB = -lstdc++
ARCHIVE = ar
ARFLAGS = -rc
SIZE = size

---------------------------------------------------------------------

LAMMPS-specific settings

specify settings for LAMMPS features you will use

LAMMPS ifdef options, see doc/Section_start.html

LMP_INC = -DLAMMPS_GZIP

MPI library, can be src/STUBS dummy lib

INC = path for mpi.h, MPI compiler settings

PATH = path for MPI library

LIB = name of MPI library

MPI_INC = -DMPICH_SKIP_MPICXX
MPI_PATH =
MPI_LIB = -lpthread

FFT library, can be -DFFT_NONE if not using PPPM from KSPACE package

INC = -DFFT_FFTW, -DFFT_INTEL, -DFFT_NONE, etc, FFT compiler settings

PATH = path for FFT library

LIB = name of FFT library

FFT_INC = -DFFT_FFTW
FFT_PATH = /home/elena/fftw-2.1.5/prefix/bin
FFT_LIB = -lfftw

JPEG library, only needed if -DLAMMPS_JPEG listed with LMP_INC

INC = path for jpeglib.h

PATH = path for JPEG library

LIB = name of JPEG library

Hi

I modified the Makefile as the following:

# linux = RedHat Linux box, Intel icc, Intel ifort, MPICH2, FFTW

SHELL = /bin/sh

# ---------------------------------------------------------------------
# compiler/linker settings
# specify flags and libraries needed for your compiler

CC = /home/elena/mpich2-install/bin/mpicc
CCFLAGS = -g -O -L/home/elena/fftw-2.1.5/prefix/include -DFFT_FFTW

this is wrong. -L instructs the linker where to find library files.
you have to use -I (capital "i") to tell the preprocessor where
to find include files.

lecture 3 on this
http://sites.google.com/site/akohlmey/lectures/introduction-to-hpc-fall-2010

-DOMPI$
DEPFLAGS = -M
LINK = /home/elena/mpich2-install/bin/mpicc
LINKFLAGS = -O -L/home/elena/mpich2-install/lib
-L/home/elena/fftw-2.1.5/pr$

this looks wrong, too?
but this time the path name appears to be botched up.
...and what is the "prefix" thing in the path for?

[...]

# FFT library, can be -DFFT_NONE if not using PPPM from KSPACE package
# INC = -DFFT_FFTW, -DFFT_INTEL, -DFFT_NONE, etc, FFT compiler settings
# PATH = path for FFT library
# LIB = name of FFT library

FFT_INC = -DFFT_FFTW

this is where the -I flag _should_ go, not CCFLAGS

FFT_PATH = /home/elena/fftw-2.1.5/prefix/bin

this makes no sense either

FFT_LIB = -lfftw

# JPEG library, only needed if -DLAMMPS_JPEG listed with LMP_INC
# INC = path for jpeglib.h
# PATH = path for JPEG library
# LIB = name of JPEG library

please re-read the installation/compilation instructions for LAMMPS
more carefully and don't just guess what to place where. this is all
set up consistently and written up. it is just a matter of common
sense and proper attention to detail.

cheers,
     axel.