LAMMPS Compilation Error INT64

Hi all,

Am compiling LAMMPS for the first time (LAMMPS-24may13) using Cygwin/ Windows 7, and have been unable to come across any documentation for the following error:

…/update.cpp: In member function ‘void LAMMPS_NS::Update::reset_timestep(LAMMPS_NS::bigint)’:
…/update.cpp:375:19: error: ‘INT64_MAX’ was not declared in this scope
Makefile:100: recipe for target update.o' failed make[1]: *** [update.o] Error 1 make[1]: Leaving directory /home/Chuck/lmp/lammps-24may13/src/Obj_g++’
Makefile:77: recipe for target `g++’ failed
make: *** [g++] Error 2

For the LAMMPS-14may13 version, the same INT64 call-out was brought up by update.cpp and run.cpp.

Are there any suggestions?

Thanks!
-Charles

Hi all,

Am compiling LAMMPS for the first time (LAMMPS-24may13) using Cygwin/
Windows 7, and have been unable to come across any documentation for the
following error:

../update.cpp: In member function ‘void
LAMMPS_NS::Update::reset_timestep(LAMMPS_NS::bigint)’:
../update.cpp:375:19: error: ‘INT64_MAX’ was not declared in this scope
Makefile:100: recipe for target `update.o' failed
make[1]: *** [update.o] Error 1
make[1]: Leaving directory `/home/Chuck/lmp/lammps-24may13/src/Obj_g++'
Makefile:77: recipe for target `g++' failed
make: *** [g++] Error 2

For the LAMMPS-14may13 version, the same INT64 call-out was brought up by
update.cpp and run.cpp.

Are there any suggestions?

try adding: -DLAMMPS_SMALLSMALL
to the LMP_INC definition in your makefile

axel.

Axel, am still getting the same error after trying DLAMMPS_SMALLSMALL in addition to -DLAMMPS_BIBIG and -DLAMMPS_SMALLBIG.

Blindly added “int MAXBIGINT;” to update.cpp and replicate.cpp just prior to the violating line which may have helped (?) but has lead to this new error:

_wall_reflect.o atom_vec.o -lmpi_stubs -lfftw -ljpeg -o …/lmp_g++
/usr/lib/gcc/i686-pc-cygwin/4.5.3/…/…/…/…/i686-pc-cygwin/bin/ld: cannot find -lfftw
collect2: ld returned 1 exit status
Makefile:85: recipe for target ../lmp_g++' failed make[1]: *** [../lmp_g++] Error 1 make[1]: Leaving directory /home/ctan/lmp/lammps-26may13/src/Obj_g++’
Makefile:77: recipe for target `g++’ failed
make: *** [g++] Error 2

Appreciate any input you all might have.

Axel, am still getting the same error after trying DLAMMPS_SMALLSMALL in
addition to -DLAMMPS_BIBIG and -DLAMMPS_SMALLBIG.

i cannot talk about cygwin, but i have recently successfully compiled
LAMMPS (or rather my personal branch, LAMMPS-ICMS, which is mostly
identical to official LAMMPS) with an MinGW cross-compiler on linux (i
don't have/use windows, but do occasional tutorials where windows
machines are the only available PCs)

Blindly added "int MAXBIGINT;" to update.cpp and replicate.cpp just prior to
the violating line which may have helped (?) but has lead to this new error:

this change makes no sense at all.
it may have got you over the compilation hurdle, but it will fail
horribly at run time.

_wall_reflect.o atom_vec.o -lmpi_stubs -lfftw -ljpeg -o ../lmp_g++
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: cannot
find -lfftw
collect2: ld returned 1 exit status
Makefile:85: recipe for target `../lmp_g++' failed
make[1]: *** [../lmp_g++] Error 1
make[1]: Leaving directory `/home/ctan/lmp/lammps-26may13/src/Obj_g++'
Makefile:77: recipe for target `g++' failed
make: *** [g++] Error 2

Appreciate any input you all might have.

this error has only been explained a gazillion times on this mailing
list. you didn't read/follow the installation instructions properly.
the easiest workaround is to clear out all FFT variables and use the
internal FFT library instead of FFTW2 (you probably don't have
libjpeg installed either, right?).

axel.

Axel, am still getting the same error after trying DLAMMPS_SMALLSMALL in
addition to -DLAMMPS_BIBIG and -DLAMMPS_SMALLBIG.

there was something that didn't register with me, when reading this
the first time. do you define all three of these *at the same time*?
that - of course - is *very* wrong. you may only define one of the
three and if you *do* define only -DLAMMPS_SMALLSMALL as i asked you
to, then there will be no error about INT64_MAX being undefined, since
that is not going to be used at all. under normal circumstances, there
is no need to use 64-bit indices for any machine outside of high-end
supercomputers in any case. so -DLAMMPS_SMALLSMALL is a safe choice
(despite the american mantra of "bigger is better").

axel.