lammps for pgi

Dear lammps-users:
I’m a rookie for lammps.And i’m a student in the college from China and doing works about lammps compiling recently.I have successfully finished compiling by using GNU and INTEL icc.
But now I try to compile lammps by pgi. Recently I have finished to compile lammps for no-package. If I ‘make yes-all’ or ‘make yes-standard’ ,there are so many ‘undefind’ errors.I have check the package in the lib.The errors concentrate on these packages.
And I recompile the lib such as meam,poems,reax and gpu.But in most package, the makefile don’t have Makefile.pgi or Makefile.pgf90 except meam and reax.And I have changed the CC in each Makefile.But when I compile the Makefile.pgi,it will abort and show these errors.Is lammps fit for pgi? This is my Makefile.pgi.

pgi = Portland Group compiler, pgCC, MPICH, FFTW

SHELL = /bin/sh

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

compiler/linker settings

specify flags and libraries needed for your compiler

CC = pgCC
CCFLAGS = -fast
DEPFLAGS = -M
LINK = pgCC
LINKFLAGS =
LIB =
ARCHIVE = ar
ARFLAGS = -rc
SIZE = size

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

LAMMPS-specific settings

specify settings for LAMMPS features you will use

if you change any -D setting, do full re-compile after “make clean”

LAMMPS ifdef settings, OPTIONAL

see possible settings in doc/Section_start.html#2_2 (step 4)

LMP_INC = -DLAMMPS_GZIP

MPI library, REQUIRED

see discussion in doc/Section_start.html#2_2 (step 5)

can point to dummy MPI library in src/STUBS as in Makefile.serial

INC = path for mpi.h, MPI compiler settings

PATH = path for MPI library

LIB = name of MPI library

MPI_INC = -I/opt/pgi/linux86-64/11.8/mpi/mpich/include -DMPICH_SKIP_MPICXX
MPI_PATH = -L/opt/pgi/linux86-64/11.8/mpi/mpich/lib
MPI_LIB = -lmpich

FFT library, OPTIONAL

see discussion in doc/Section_start.html#2_2 (step 6)

can be left blank to use provided KISS FFT library

INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings

PATH = path for FFT library

LIB = name of FFT library

FFT_INC = -I/opt/fftw215/include -DFFT_FFTW
FFT_PATH = -L/opt/fftw215/lib
FFT_LIB = -lfftw

JPEG library, OPTIONAL

see discussion in doc/Section_start.html#2_2 (step 7)

only needed if -DLAMMPS_JPEG listed with LMP_INC

INC = path for jpeglib.h

PATH = path for JPEG library

LIB = name of JPEG library

JPG_INC =
JPG_PATH =
JPG_LIB =

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

build rules and dependencies

no need to edit this section

include Makefile.package.settings
include Makefile.package
EXTRA_INC = (LMP_INC) (PKG_INC) (MPI_INC) (FFT_INC) (JPG_INC) (PKG_SYSINC)
EXTRA_PATH = (PKG_PATH) (MPI_PATH) (FFT_PATH) (JPG_PATH) (PKG_SYSPATH) EXTRA_LIB = (PKG_LIB) (MPI_LIB) (FFT_LIB) (JPG_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) sinclude (DEPENDS)

Another question: When I complete compiling by gcc or icc,it will show me the libcufft.so and libcudart.so mismatching.My OS is Linux RETHAT6.1 and my cuda version is 4.2.I have no idea to solve this problem.
I will very much appreciate any input and help!

Thanks,

Dear lammps-users:
       I'm a rookie for lammps.And i'm a student in the college from China
and doing works about lammps compiling recently.I have successfully finished
compiling by using GNU and INTEL icc.
       But now I try to compile lammps by pgi. Recently I have finished to

why the hell are you doing this to you?

you already have two working executables and
now you are trying to build *another* one
with a c++ compiler that is known to be
inferior to both of those compilers.

you are wasting your time.

axel.

I suggest you include other packages that have external dependencies one
at a time. Whatever errors that build gives you are ones you have
to figure out what the PGI compiler needs (e.g. extra libs), which are
typically specified in the lib/pacakge/Makefile.lammps file. The doc
pages for buliding LAMMPS explain all of this. There are no short-cuts
if you are building with a new compiler.

Steve