I tried to add several of the latest patches (to my 5Sep14 version) including the 16Feb15 patch, then executed make-update and tried to re-make.
The following error shows up:
…/create_bonds.cpp(124): error: argument of type “LAMMPS_NS::NeighList *” is incompatible with parameter of type “int”
compilation aborted for …/create_bonds.cpp (code 2)
make: *** [create_bonds.o] Error 2
make: *** Waiting for unfinished jobs…
make: Leaving directory `/davidf/copy-lammps-5Sep14/src/Obj_mkl’
make: *** [mkl] Error 2
Then I tried to download the lateset stable release and build it, but another error showed up when executing ‘make’:
error: identifier “INT64_MAX” is undefined
Anyone encountered these ?
I tried to add several of the latest patches (to my 5Sep14 version)
including the 16Feb15 patch,
You can not just apply "several" of the patches - you need to apply "all"
of the patches between the two versions.
I did apply all patches chronologically. (sorry for not being clear about it)
This happens typically in a cygwin build, I saw it on my box too.
You have to tell the build system what an INT_MAX64 is supposed to
be, eg. add a define in your makefile for your machine:
LMP_INC = -DLAMMPS_GZIP -DINT64_MAX=9223372036854775807LL -DLAMMPS_JPEG ...
(see definitions in http://web.mit.edu/cygwin/cygwin_v1.3.2/usr/include/mingw/stdint.h)
I did apply all patches chronologically. (sorry for not being clear about
with such a large time distance, it is usually better to simply
download a full archive. you save yourself a lot of trouble.
if you insist on patches for whatever unknown reason, you have to do
more than what you have done.
you will need to execute:
then apply the patches, then:
and then you should first try to compile with:
some of the build mechanism was changed, so you will likely need to
adapt any custom make files (which should now be placed in
the whole patching/upgrade process is significantly easier when
following the svn or git repository. if you do your own development,
using git is highly recommended, as it allows you running and
maintaining your own local branches to which you can then merge in
from upstream repeatedly.
Then I tried to download the lateset stable release and build it, but
another error showed up when executing 'make':
error: identifier "INT64_MAX" is undefined
Anyone encountered these ?
are you building with a 32-bit compiler? then you should try to also
unless you need to run extremely large systems (which usually require
supercomputers anyway), this would be sufficient and may be faster,
since it would requires less storage, offer more cache efficiency and
not require to emulate 64-bit integers on a 32-bit platform.
Adding “- DLAMMPS_SMALLSMALL” is what I needed, that solved it. I guess the compiler installed on our cluster is indeed 32bit.
Adding "- DLAMMPS_SMALLSMALL" is what I needed, that solved it. I guess the
compiler installed on our cluster is indeed 32bit.
you can easily tell which is the case through using the "file" command
on the resulting object files, you should get one of the two outputs
[[email protected] compile]$ file *.o
empty-32.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV),
empty-64.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped