[lammps-users] Installing LAMMPS using make crockett

I am trying to install LAMMPS on a beowulf cluster of Intel workstations
running RedHat 9.0. This cluster was set up using OSCAR from ORNL. I
am using Makefile.crockett for the compile. Some of the compiles
succeed, but I get an error when compiling bond_quartic.cpp. A log from
the make crockett is given below.

From what I can tell, the Pair class does have a member named

'vflag_either'.
Does anyone have suggestions where the problem is?

Thanks,

Paul

make[1]: Entering directory
`/home/pharten/lammps-22Jan08/src/Obj_crockett'
make[1]: *** Warning: File `Makefile' has modification time in the
future (2008-03-26 16:48:56 > 2008-03-26 16:08:54.820869)
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c angle_cosine_squared.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c angle_harmonic.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c atom_vec_angle.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c atom_vec.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c atom_vec_hybrid.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c bond_fene_expand.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c bond_hybrid.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c bond_morse.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c bond_nonlinear.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c bond_quartic.cpp
bond_quartic.cpp: In member function `virtual void
   LAMMPS_NS::BondQuartic::compute(int, int)':
bond_quartic.cpp:69: `struct mpi2cppMap<int, mpi2cppMap<int (*)(const
   PMPI::Comm&, int, void*, void*, void*, bool&), int (*)(PMPI::Comm&,
int,
   void*, void*)>::Pair*>::Pair' has no member named `vflag_either'
bond_quartic.cpp:69: `struct mpi2cppMap<int, mpi2cppMap<int (*)(const
   PMPI::Comm&, int, void*, void*, void*, bool&), int (*)(PMPI::Comm&,
int,
   void*, void*)>::Pair*>::Pair' has no member named `vflag_global'
bond_quartic.cpp:71: `struct mpi2cppMap<int, mpi2cppMap<int (*)(const
   PMPI::Comm&, int, void*, void*, void*, bool&), int (*)(PMPI::Comm&,
int,
   void*, void*)>::Pair*>::Pair' has no member named `cutsq'
bond_quartic.cpp:160: no matching function for call to `mpi2cppMap<int,
   mpi2cppMap<int (*)(const PMPI::Comm&, int, void*, void*, void*,
bool&), int
   (*)(PMPI::Comm&, int, void*, void*)>::Pair*>::Pair::single(int&,
int&, int&,
   int&, double&, double, double, double&)'
bond_quartic.cpp:175: no matching function for call to `mpi2cppMap<int,
   mpi2cppMap<int (*)(const PMPI::Comm&, int, void*, void*, void*,
bool&), int
   (*)(PMPI::Comm&, int, void*, void*)>::Pair*>::Pair::ev_tally(int&,
int&,
   int&, int&, double&, double, double&, double&, double&, double&)'
bond_quartic.cpp: In member function `virtual void
   LAMMPS_NS::BondQuartic::init_style()':
bond_quartic.cpp:235: `struct mpi2cppMap<int, mpi2cppMap<int (*)(const
   PMPI::Comm&, int, void*, void*, void*, bool&), int (*)(PMPI::Comm&,
int,
   void*, void*)>::Pair*>::Pair' has no member named `single_enable'
bond_quartic.cpp: In member function `virtual double
   LAMMPS_NS::BondQuartic::single(int, double, int, int)':
bond_quartic.cpp:313: `struct mpi2cppMap<int, mpi2cppMap<int (*)(const
   PMPI::Comm&, int, void*, void*, void*, bool&), int (*)(PMPI::Comm&,
int,
   void*, void*)>::Pair*>::Pair' has no member named `cutsq'
bond_quartic.cpp:315: no matching function for call to `mpi2cppMap<int,
   mpi2cppMap<int (*)(const PMPI::Comm&, int, void*, void*, void*,
bool&), int
   (*)(PMPI::Comm&, int, void*, void*)>::Pair*>::Pair::single(int&,
int&, int&,
   int&, double&, double, double, double&)'
mpiCC: No such file or directory
make[1]: *** [bond_quartic.o] Error 1
make[1]: Leaving directory
`/home/pharten/lammps-22Jan08/src/Obj_crockett'
make: *** [crockett] Error 2

This is a mystery. You might try using the latest upgraded LAMMPS
tarball (28Mar08), but I doubt that will help. I don't understand why
everything is wrapped with mpi2cpp. I would try compiling with
straight g++, instead of mpiCC. If g++ doesn't complain (and it
doesn't on my box), then mpiCC shouldn't either. mpiCC is just
a wrapper around a low-level compiler, so maybe something is
wrong with it on your box.

Steve

There was a problem with the parallel compile using Makefile.crockett
because the Pair object created in LAMMPS has the exact same name as a
Pair structure used by LAM 7.0.6 in /opt/lam-7.0.6
/include/mpi2cxx/mpi2cpp_map.h. I was able to get around this by adding
the line '#include "pair.h"' directly after '#include "pointers.h"' in
the LAMMPS include files comm.h, force.h, and fix.h to reference Pair
objects created by LAMMPS first. Everything compiled and linked without
errors, and the lmp_crockett executable was created.

Paul

             "Steve Plimpton"
             <[email protected]
             > To
                                      Paul Harten/CI/USEPA/[email protected]
             03/28/2008 10:45 cc
             AM [email protected]
                                      t
                                                                Subject
                                      Re: [lammps-users] Installing
                                      LAMMPS using make crockett
                                                                        
This is a mystery. You might try using the latest upgraded LAMMPS
tarball (28Mar08), but I doubt that will help. I don't understand why
everything is wrapped with mpi2cpp. I would try compiling with
straight g++, instead of mpiCC. If g++ doesn't complain (and it
doesn't on my box), then mpiCC shouldn't either. mpiCC is just
a wrapper around a low-level compiler, so maybe something is
wrong with it on your box.

Steve

I am trying to install LAMMPS on a beowulf cluster of Intel

workstations

running RedHat 9.0. This cluster was set up using OSCAR from ORNL.

I

am using Makefile.crockett for the compile. Some of the compiles
succeed, but I get an error when compiling bond_quartic.cpp. A log

from

the make crockett is given below.

>From what I can tell, the Pair class does have a member named
'vflag_either'.
Does anyone have suggestions where the problem is?

Thanks,

Paul

make[1]: Entering directory
`/home/pharten/lammps-22Jan08/src/Obj_crockett'
make[1]: *** Warning: File `Makefile' has modification time in the
future (2008-03-26 16:48:56 > 2008-03-26 16:08:54.820869)
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c angle_cosine_squared.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c angle_harmonic.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c atom_vec_angle.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c atom_vec.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c atom_vec_hybrid.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c bond_fene_expand.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c bond_hybrid.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c bond_morse.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c bond_nonlinear.cpp
mpiCC -g -O -DFFT_NONE -DLAMMPS_GZIP -c bond_quartic.cpp
bond_quartic.cpp: In member function `virtual void
   LAMMPS_NS::BondQuartic::compute(int, int)':
bond_quartic.cpp:69: `struct mpi2cppMap<int, mpi2cppMap<int (*)(const
   PMPI::Comm&, int, void*, void*, void*, bool&), int (*)(PMPI::Comm&,
int,
   void*, void*)>::Pair*>::Pair' has no member named `vflag_either'
bond_quartic.cpp:69: `struct mpi2cppMap<int, mpi2cppMap<int (*)(const
   PMPI::Comm&, int, void*, void*, void*, bool&), int (*)(PMPI::Comm&,
int,
   void*, void*)>::Pair*>::Pair' has no member named `vflag_global'
bond_quartic.cpp:71: `struct mpi2cppMap<int, mpi2cppMap<int (*)(const
   PMPI::Comm&, int, void*, void*, void*, bool&), int (*)(PMPI::Comm&,
int,
   void*, void*)>::Pair*>::Pair' has no member named `cutsq'
bond_quartic.cpp:160: no matching function for call to

`mpi2cppMap<int,

   mpi2cppMap<int (*)(const PMPI::Comm&, int, void*, void*, void*,
bool&), int
   (*)(PMPI::Comm&, int, void*, void*)>::Pair*>::Pair::single(int&,
int&, int&,
   int&, double&, double, double, double&)'
bond_quartic.cpp:175: no matching function for call to

`mpi2cppMap<int,

   mpi2cppMap<int (*)(const PMPI::Comm&, int, void*, void*, void*,
bool&), int
   (*)(PMPI::Comm&, int, void*, void*)>::Pair*>::Pair::ev_tally(int&,
int&,
   int&, int&, double&, double, double&, double&, double&, double&)'
bond_quartic.cpp: In member function `virtual void
   LAMMPS_NS::BondQuartic::init_style()':
bond_quartic.cpp:235: `struct mpi2cppMap<int, mpi2cppMap<int

(*)(const

   PMPI::Comm&, int, void*, void*, void*, bool&), int (*)(PMPI::Comm&,
int,
   void*, void*)>::Pair*>::Pair' has no member named `single_enable'
bond_quartic.cpp: In member function `virtual double
   LAMMPS_NS::BondQuartic::single(int, double, int, int)':
bond_quartic.cpp:313: `struct mpi2cppMap<int, mpi2cppMap<int

(*)(const

   PMPI::Comm&, int, void*, void*, void*, bool&), int (*)(PMPI::Comm&,
int,
   void*, void*)>::Pair*>::Pair' has no member named `cutsq'
bond_quartic.cpp:315: no matching function for call to

`mpi2cppMap<int,