lammps error compilation

Hi lammps users,

Time ago i installed LAMMPS (20 Aug 2011) I only made a modification
to the fftw library path i.e FFT_PATH = share/apps/fftw-2.1.5/. Right
now i'm trying to compile the newer version "lammps-1Jun12" ,and i'm
using the "Makefile.openmpi" , but when i try to compile it (using
"make openmpi") i obtain the following error (see below) . Since i
belive its a problem with FFTW, then i decided to comment #FFT_INC =
-DFFT_FFTW #FFT_PATH = share/apps/fftw-2.1.5/ and #FFT_LIB = -lfftw .
then i tried to recompile, but the following error appears :

read_dump.cpp:327: error: 'INT64_MAX' was not declared in this scope
read_dump.cpp: In member function 'void
LAMMPS_NS::ReadDump::process_atoms(int)'

Can someone guide me ?

Thanks
Oscar G.

fft3d.h:214: error: 'FFTW_COMPLEX' does not name a type
fft3d.h:250: error: ISO C++ forbids declaration of 'FFT_DATA' with no type
fft3d.h:250: error: expected ';' before '*' token
fft3d.h:251: error: ISO C++ forbids declaration of 'FFT_DATA' with no type
fft3d.h:251: error: expected ';' before '*' token
fft3d.h:292: error: 'fftw_plan' does not name a type
fft3d.h:293: error: 'fftw_plan' does not name a type
fft3d.h:294: error: 'fftw_plan' does not name a type
fft3d.h:295: error: 'fftw_plan' does not name a type
fft3d.h:296: error: 'fftw_plan' does not name a type
fft3d.h:297: error: 'fftw_plan' does not name a type
fft3d.h:317: error: variable or field 'fft_3d' declared void
fft3d.h:317: error: 'FFT_DATA' was not declared in this scope
fft3d.h:317: error: expected primary-expression before ',' token
fft3d.h:317: error: 'FFT_DATA' was not declared in this scope
fft3d.h:317: error: expected primary-expression before ',' token
fft3d.h:317: error: expected primary-expression before 'int'
fft3d.h:317: error: expected primary-expression before 'struct'
fft3d.h:317: error: initializer expression list treated as compound expression
fft3d.h:324: error: variable or field 'fft_1d_only' declared void
fft3d.h:324: error: 'FFT_DATA' was not declared in this scope
fft3d.h:324: error: expected primary-expression before ',' token
fft3d.h:324: error: expected primary-expression before 'int'
fft3d.h:324: error: expected primary-expression before 'int'
fft3d.h:324: error: expected primary-expression before 'struct'
fft3d.h:324: error: initializer expression list treated as compound expression
fft3d.cpp:66: error: variable or field 'fft_3d' declared void
fft3d.cpp:66: error: redefinition of 'int fft_3d'
fft3d.h:317: error: 'int fft_3d' previously defined here
fft3d.cpp:66: error: 'FFT_DATA' was not declared in this scope
fft3d.cpp:66: error: 'in' was not declared in this scope
fft3d.cpp:66: error: 'FFT_DATA' was not declared in this scope
fft3d.cpp:66: error: 'out' was not declared in this scope
fft3d.cpp:66: error: expected primary-expression before 'int'
fft3d.cpp:66: error: expected primary-expression before 'struct

Hi lammps users,

Time ago i installed LAMMPS (20 Aug 2011) I only made a modification
to the fftw library path i.e FFT_PATH = share/apps/fftw-2.1.5/. Right
now i'm trying to compile the newer version "lammps-1Jun12" ,and i'm
using the "Makefile.openmpi" , but when i try to compile it (using
"make openmpi") i obtain the following error (see below) . Since i
belive its a problem with FFTW, then i decided to comment #FFT_INC =
-DFFT_FFTW #FFT_PATH = share/apps/fftw-2.1.5/ and #FFT_LIB = -lfftw .
then i tried to recompile, but the following error appears :

read_dump.cpp:327: error: 'INT64_MAX' was not declared in this scope
read_dump.cpp: In member function 'void
LAMMPS_NS::ReadDump::process_atoms(int)'

Can someone guide me ?

as you should have seen from steve's post today.
read dump is a new feature and it may have
a bug. as a workaround, you should be able
to just delete read_dump.cpp and read_dump.h
and try compiling again.

axel.

Axel,

I erased read_dump.cpp and read_dump.h and lammps compile it
successfully (without FFTW) . If i try to add the FFTW feature i still
see the
fft3d.h:214: error: 'FFTW_COMPLEX' does not name a type , etc, etc,
etc ..... Do you have any idea why this might happen ?

post data: Thanks for the advise i really appreciate it

Oscar G.

Axel,

I erased read_dump.cpp and read_dump.h and lammps compile it
successfully (without FFTW) . If i try to add the FFTW feature i still
see the
fft3d.h:214: error: 'FFTW_COMPLEX' does not name a type , etc, etc,
etc ..... Do you have any idea why this might happen ?

most likely your makefile is not correct for the
version of fftw or the location where it is installed.

unless your calculations are extremely kspace heavy
(most are not), it probably doesn't make a significant
difference. please remember amdahl's law.

i would estimate the performance difference between fftw
and kissfft to be of the order or 20-30%. thus if your calculation
spends only 20% of the total time in kspace, the difference
drops to 4-6% and if the time kspace spends on the
FFT is about 50%, the performance difference drops
to 2-3%. at that point, you would gain more from
tweaking other input parameters, e.g. using /omp
(you don't need to use OpenMP, most of them have
additional optimizations and are thus faster than the
plain versions) or /opt pair styles

axel.