[lammps-users] Installation problem using Makefile.linux

Error when run the command from the src directory: make linux

After creating many .o file ( like angle_charmn.o | write_restart.o) , it shows the following error:

/usr/local/lib/libmpich.a(SciInit.o): In function SCIInitAlgorithm::SciInitAlgorithm::Remove()': SciInit.cxx:(.text+0x1df): undefined reference to _SISCI_PUBLIC_FUNC_MT_SCIRemoveSequence’
SciInit.cxx:(.text+0x37c): undefined reference to _SISCI_PUBLIC_FUNC_MT_SCIUnmapSegment' SciInit.cxx:(.text+0x519): undefined reference to _SISCI_PUBLIC_FUNC_MT_SCIDisconnectSegment’
SciInit.cxx:(.text+0x69e): undefined reference to _SISCI_PUBLIC_FUNC_MT_SCIUnmapSegment' SciInit.cxx:(.text+0x823): undefined reference to _SISCI_PUBLIC_FUNC_MT_SCIRemoveSegment’
SciInit.cxx:(.text+0x9a8): undefined reference to _SISCI_PUBLIC_FUNC_MT_SCIClose' SciInit.cxx:(.text+0xb13): undefined reference to _SISCI_PUBLIC_FUNC_MT_SCITerminate’

there are more such lines showing almost the same error. at the last it shows the following error:

/usr/local/lib/libmpich.a(StreamBindings.o): In function Stream_SCI::SSEIntcpy(int volatile*, int)': StreamBindings.cxx:(.text._ZN10Stream_SCI9SSEIntcpyEPVii[_ZN10Stream_SCI9SSEIntcpyEPVii]+0x1a): undefined reference to _SISCI_PUBLIC_CONST_SCI_FLAG_FLUSH_CPU_BUFFERS_ONLY’
StreamBindings.cxx:(.text._ZN10Stream_SCI9SSEIntcpyEPVii[_ZN10Stream_SCI9SSEIntcpyEPVii]+0x24): undefined reference to _SISCI_PUBLIC_FUNC_MT_SCIFlush' /usr/local/lib/libmpich.a(StreamBindings.o): In function Stream_SCI::SSEMemcpy(void*, void const*, int)’:
StreamBindings.cxx:(.text._ZN10Stream_SCI9SSEMemcpyEPvPKvi[_ZN10Stream_SCI9SSEMemcpyEPvPKvi]+0x2b): undefined reference to _SISCI_PUBLIC_FUNC_MT_SCIMemWrite' StreamBindings.cxx:(.text._ZN10Stream_SCI9SSEMemcpyEPvPKvi[_ZN10Stream_SCI9SSEMemcpyEPvPKvi]+0x4b): undefined reference to _SISCI_PUBLIC_CONST_SCI_FLAG_FLUSH_CPU_BUFFERS_ONLY’
StreamBindings.cxx:(.text._ZN10Stream_SCI9SSEMemcpyEPvPKvi[_ZN10Stream_SCI9SSEMemcpyEPvPKvi]+0x55): undefined reference to _SISCI_PUBLIC_FUNC_MT_SCIFlush' /usr/local/lib/libmpich.a(SciSequenceWithLogging.o): In function SCIInitAlgorithm::SciSequenceWithLogging::Check()’:
SciSequenceWithLogging.cxx:(.text+0x211): undefined reference to _SISCI_PUBLIC_FUNC_MT_SCICheckSequence' SciSequenceWithLogging.cxx:(.text+0x29e): undefined reference to _SISCI_PUBLIC_FUNC_MT_SCIStartSequence’
make[1]: *** […/lmp_linux] Error 1
make[1]: Leaving directory `/misc/home/ankit/lammps-18Jan11/src/Obj_linux’
make: *** [linux] Error 2

Setting in my Makefile.Linux are :

Compiler Setting:
CC = icc
CCFLAGS = -O
DEPFLAGS = -M
LINK = icc
LINKFLAGS = -O
LIB = -lstdc++
ARCHIVE = ar
ARFLAGS = -rc
SIZE = size

MPI Setting:
MPI_INC = -DMPICH_SKIP_MPICXX -I/usr/local/inlcude
MPI_PATH = -L/usr/local/lib
MPI_LIB = -lmpich

FFTW Seeting:
FFT_INC = -DFFT_FFTW -I/home/ankit/fftw/prefix/include
FFT_PATH = -L/home/ankit/fftw/prefix/lib
FFT_LIB = -lfftw

please help me regarding the same. Thanks in advance.

My guess is that your MPI lib depends on some other libs
which need to be in your link line. E.g. I use -lpthread with
MPICH on my box. Look at the doc pages for your
MPI installation if all else fails.

Steve