[lammps-users] How to set the SYSPATH for meam, reax and atc

Dear ALL:

I finally figured out how to build lammps. But I’ve a problem when I tried to include some packages.

First, I’ve already built packages of meam, poems and reax.

second, I build lammps with the default SYSPATH for meam and reax:
meam_SYSPATH = -L/opt/intel/fce/10.0.023/lib
reax_SYSPATH = -L/opt/intel/fce/10.0.023/lib

It worked. But I thought the PATH may not be correct. Then I modified the SYSPATH for meam and reax in the Makefile into:
meam_SYSPATH = -L/home/lyang/lammps-20Feb10/lib/meam
reax_SYSPATH = -L/home/lyang/lammps-20Feb10/lib/reax

Then build lammps. It worked again. So I’m wondering why?

Third, I build atc. Then install it into package. I modified the path for ATC:
user-atc_SYSPATH = -L/home/lyang/lammps-20Feb10/lib/atc

However, this time, it does not work. It failed. Then I tried to use the default path which is blank. It still failed. So dose anyone know how to build lammps with atc and how should I type the right SYSPATH for meam, reax and atc.

The following is the Makefile:

lewis = RedHat Linux box, mpiCC, FFTW

SHELL = /bin/sh

---------------------------------------------------------------------

compiler/linker settings

specify flags and libraries needed for your compiler

CC = mpiCC
CCFLAGS = -O -I /home/lyang/fftw2.1.5/include
DEPFLAGS = -M
LINK = mpiCC
LINKFLAGS = -O -L /home/lyang/fftw2.1.5/lib
LIB = -lstdc++ -lfftw
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 =
MPI_PATH =
MPI_LIB =

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_FFTW
FFT_PATH = -I /home/lyang/fftw2.1.5/include
FFT_LIB = -lfftw

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/home/lyang/lammps-20Feb10/lib/meam
reax_SYSPATH = -L/home/lyang/lammps-20Feb10/lib/reax
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) < > @

Individual dependencies

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

You really should read the manual which discusses all
of these options. You do not list lib/atc in the SYSPATH
variables. As the Makefile.foo itself says, these
are for the paths to system libraries, not LAMMPS libs.

Steve

2010/3/2 Lingqi Yang <[email protected]>: