make lammps

Dear all,

I am a new user of lammps and I am trying to compile lammps with mpi (to
run lammps in parallel) but I have some problems

I am using Mandriva 2010.2 and the next version of lammps: Lammps-1Dec10.

I have modified the make files to my system and I have already compiled
mpich libraries (mpich2-1.3.1.tar.gz) ...but I still have some problems.
First I build lammps in a single processor and I run some examples and
everything was ok, but I can not obtain the executable with the parallel
options

Here I attached the makefile I use and the output I obtain

It says that I do not have

Thank you so much for all your help

best

david

$$$$$$$$$$$$$$ MAKEFILE

# 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 = g++
CCFLAGS = -g -O
-I/home/dcereceda/phD/LAMMPS/Lammps_mpi/My_mpich/include -DFFT_none
DEPFLAGS = -M
LINK = g++
LINKFLAGS = -g -O -L/home/dcereceda/phD/LAMMPS/Lammps_mpi/My_mpich/lib
LIB =
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 = -I/home/dcereceda/phD/LAMMPS/Lammps_mpi/My_mpich/include
MPI_PATH = -L/home/dcereceda/phD/LAMMPS/Lammps_mpi/My_mpich/lib
MPI_LIB = libmpich.a

# 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_NONE
FFT_PATH =
FFT_LIB =

# additional system libraries needed by LAMMPS package libraries
# these settings are IGNORED if the corresponding LAMMPS package
# (e.g. gpu, meam) is NOT included in the LAMMPS build
# SYSLIB = names of libraries
# SYSPATH = paths of libraries

gpu_SYSLIB = -lcudart
meam_SYSLIB = -lifcore -lsvml -lompstub -limf
reax_SYSLIB = -lifcore -lsvml -lompstub -limf
user-atc_SYSLIB = -lblas -llapack

gpu_SYSPATH = -L/usr/local/cuda/lib64
meam_SYSPATH = -L/opt/intel/fce/10.0.023/lib
reax_SYSPATH = -L/opt/intel/fce/10.0.023/lib
user-atc_SYSPATH =

# ---------------------------------------------------------------------
# build rules and dependencies
# no need to edit this section

include Makefile.package

EXTRA_INC = \(LMP\_INC\) (PKG_INC) \(MPI\_INC\) (FFT_INC)
EXTRA_PATH = \(PKG\_PATH\) (MPI_PATH) \(FFT\_PATH\) (PKG_SYSPATH)
EXTRA_LIB = \(PKG\_LIB\) (MPI_LIB) \(FFT\_LIB\) (PKG_SYSLIB)

# Link target

\(EXE\): (OBJ)
    \(LINK\) (LINKFLAGS) \(EXTRA\_PATH\) (OBJ) \(EXTRA\_LIB\) (LIB) -o
\(EXE\)     (SIZE) $(EXE)

# Library target

lib: \(OBJ\)     (ARCHIVE) \(ARFLAGS\) (EXE) $(OBJ)

# Compilation rules

\.o:.cpp
    \(CC\) (CCFLAGS) \(EXTRA\_INC\) \-c <

\.d:.cpp
    \(CC\) (CCFLAGS) \(EXTRA\_INC\) (DEPFLAGS) &lt; &gt; @

# Individual dependencies

DEPENDS = \(OBJ:\.o=\.d\) include (DEPENDS)

$$$$$$$$$$$$$$$$$$$$$ ERROR OBTAINED

g++ -g -O -I/home/dcereceda/phD/LAMMPS/Lammps_mpi/My_mpich/include
-DFFT_none -DLAMMPS_GZIP
-I/home/dcereceda/phD/LAMMPS/Lammps_mpi/My_mpich/include -DFFT_NONE -c
modify.cpp
g++ -g -O -L/home/dcereceda/phD/LAMMPS/Lammps_mpi/My_mpich/lib
-L/home/dcereceda/phD/LAMMPS/Lammps_mpi/My_mpich/lib angle.o atom.o
atom_vec_atomic.o atom_vec_charge.o atom_vec.o atom_vec_hybrid.o bond.o
bond_hybrid.o change_box.o comm.o compute_angle_local.o
compute_atom_molecule.o compute_bond_local.o compute_centro_atom.o
compute_cna_atom.o compute_com.o compute_com_molecule.o
compute_coord_atom.o compute.o compute_dihedral_local.o
compute_displace_atom.o compute_erotate_sphere.o compute_group_group.o
compute_gyration.o compute_gyration_molecule.o compute_heat_flux.o
compute_improper_local.o compute_ke_atom.o compute_ke.o compute_msd.o
compute_msd_molecule.o compute_pair.o compute_pair_local.o
compute_pe_atom.o compute_pe.o compute_pressure.o
compute_property_atom.o compute_property_local.o
compute_property_molecule.o compute_rdf.o compute_reduce.o
compute_reduce_region.o compute_stress_atom.o compute_temp_com.o
compute_temp.o compute_temp_deform.o compute_temp_partial.o
compute_temp_profile.o compute_temp_ramp.o compute_temp_region.o
compute_temp_sphere.o compute_ti.o create_atoms.o create_box.o
delete_atoms.o delete_bonds.o dihedral.o displace_atoms.o displace_box.o
domain.o dump_atom.o dump_cfg.o dump.o dump_custom.o dump_dcd.o
dump_local.o dump_xyz.o error.o finish.o fix_adapt.o fix_addforce.o
fix_ave_atom.o fix_ave_correlate.o fix_aveforce.o fix_ave_histo.o
fix_ave_spatial.o fix_ave_time.o fix_box_relax.o fix.o fix_deform.o
fix_deposit.o fix_drag.o fix_dt_reset.o fix_efield.o fix_enforce2d.o
fix_evaporate.o fix_external.o fix_gravity.o fix_heat.o fix_indent.o
fix_langevin.o fix_lineforce.o fix_minimize.o fix_momentum.o fix_move.o
fix_nh.o fix_nh_sphere.o fix_nph.o fix_nph_sphere.o fix_npt.o
fix_npt_sphere.o fix_nve.o fix_nve_limit.o fix_nve_noforce.o
fix_nve_sphere.o fix_nvt.o fix_nvt_sllod.o fix_nvt_sphere.o
fix_orient_fcc.o fix_planeforce.o fix_press_berendsen.o fix_print.o
fix_read_restart.o fix_recenter.o fix_respa.o fix_rigid.o
fix_rigid_nve.o fix_rigid_nvt.o fix_setforce.o fix_shake.o
fix_shear_history.o fix_spring.o fix_spring_rg.o fix_spring_self.o
fix_store_force.o fix_store_state.o fix_temp_berendsen.o
fix_temp_rescale.o fix_thermal_conductivity.o fix_tmd.o fix_ttm.o
fix_viscosity.o fix_viscous.o fix_wall.o fix_wall_harmonic.o
fix_wall_lj126.o fix_wall_lj93.o fix_wall_reflect.o fix_wall_region.o
force.o group.o improper.o input.o integrate.o irregular.o kspace.o
lammps.o lattice.o library.o main.o memory.o min_cg.o min.o min_fire.o
min_hftn.o minimize.o min_linesearch.o min_quickmin.o min_sd.o modify.o
neigh_bond.o neighbor.o neigh_derive.o neigh_full.o neigh_gran.o
neigh_half_bin.o neigh_half_multi.o neigh_half_nsq.o neigh_list.o
neigh_request.o neigh_respa.o neigh_stencil.o output.o pack.o
pair_born.o pair_buck_coul_cut.o pair_buck.o pair_coul_cut.o
pair_coul_debye.o pair.o pair_dpd.o pair_dpd_tstat.o pair_gauss.o
pair_hybrid.o pair_hybrid_overlay.o pair_lj96_cut.o
pair_lj_cut_coul_cut.o pair_lj_cut_coul_debye.o pair_lj_cut.o
pair_lj_expand.o pair_lj_gromacs_coul_gromacs.o pair_lj_gromacs.o
pair_lj_smooth.o pair_morse.o pair_soft.o pair_table.o pair_yukawa.o
random_mars.o random_park.o read_data.o read_restart.o region_block.o
region_cone.o region.o region_cylinder.o region_intersect.o
region_plane.o region_prism.o region_sphere.o region_union.o replicate.o
respa.o run.o set.o shell.o special.o thermo.o timer.o universe.o
update.o variable.o velocity.o verlet.o write_restart.o libmpich.a
-o ../lmp_quevedo
g++: libmpich.a: No such file or directory
make[1]: *** [../lmp_quevedo] Error 1
make[1]: Leaving directory
`/home/dcereceda/phD/LAMMPS/Lammps_mpi/lammps-1Dec10/src/Obj_quevedo'
make: *** [quevedo] Error 2
[[email protected]... src] locate libmpich\.a /home/dcereceda/phD/LAMMPS/Lammps\_mpi/My\_mpich/lib/libmpich\.a /usr/lib64/libmpich\.a \[dcereceda@\.\.\.436\.\.\. src\]

g++: libmpich.a: No such file or directory

This is your error. The Makefile isn't finding the MPI lib.
If you know where it is, it is simple to tell the Makefile where
to find it, in the MPI section, which the Manaul explains
how to do. Else, I suggest you find a local expert
who understands Makefiles and building codes on a Linux
box.

Steve

2011/3/30 DAVID CERECEDA SEÑAS <[email protected]...>:

David,

Don't you have to use 'mpicc' (or equivalent command on your machine)
in stead of g++, if you are trying to build a parallel version ???

Monojoy

2011/3/30 DAVID CERECEDA SEÑAS <[email protected]...>:

Dear Steve,

thank you so much for your answer

I thought that it was the error... and it is the reason why I typed
(you can see at the bottom of the mail) "locate libmpich.a". Then I
checked that the same route I wrote in the Makefile it is the location
I obtained looking for "libmpich.a"

Do you know where should I write where the MPI library is in my
Makefile to avoid this problem?

thanks again

david

monojoy.

your are right. actually it would have to be mpicxx or mpic++ or mpiCC.
but the wrapper scripts shipped with MPICH are horribly broken in many
ways and instead of complaining to the MPICH developers to have it fixed,
people adjust their makefiles to work around it (and make them less portable
and cause a lot of confusion in the process). i am on this "warpath" for at
least 10 years now, and it hasn't helped a bit. :wink:

axel.

2011/3/30 Monojoy Goswami <[email protected]...>:

Thanks Axel, for the info. We use OpenMPI and it works fine.

BTW, David, I think MPI_LIB should be "MPI_LIB = -lmpich"

Monojoy

Dear Sir,

I am also getting the same problem which David is facing. The file " libmpich.a" is in the given MPI path, but still the compiler is not able to find it. Can you please suggest where am I going wrong ?

Agraj

2011/3/30 DAVID CERECEDA SEÑAS <d.cereceda@…2516…>

Dear Sir,

I am also getting the same problem which David is facing. The file "
libmpich.a" is in the given MPI path, but still the compiler is not able to
find it. Can you please suggest where am I going wrong ?

yes. you are not reading the _answers_ that were given to dave!!

PEBCAC.

axel.

Dear all,

after some days trying to figure out how to solve the problem I had with lammps I have finally compiled LAMMPS in parallel with openmpi

thank you so much for your help and all your advices

best

david

2011/3/30 Monojoy Goswami <monojoy@…36…24…>