使用make时找不到-mpich

时间:2017-08-15 17:26:06

标签: makefile mpich

尝试安装this software,并解压缩tarball,尝试make我收到错误:

/usr/bin/ld: cannot find -lmpich
collect2: error: ld returned 1 exit status
Makefile:162: recipe for target 'N-GenIC' failed

在Makefile中我们有:

SYSTYPE="Chris@Adam"

FFTW_INCL = -I/usr/common/pdsoft/include
FFTW_LIBS = -L/usr/common/pdsoft/lib

CC       =   mpicc        # sets the C-compiler (default)
OPTIMIZE =   -O3 -Wall    # optimization and warning flags (default)
MPICHLIB =  -lmpich

#————————————— Adjust settings for target computer

ifeq ($(SYSTYPE),”Chris@Adam”)
CC = mpicc
OPTIMIZE = -O3 -Wall
GSL_INCL = -I/usr/local/include
GSL_LIBS = -L/usr/local/lib
FFTW_INCL= -I/usr/local/include
FFTW_LIBS= -L/usr/local/lib
MPICHLIB = -L/usr/lib
endif

...

LIBS   =   -lm  $(MPICHLIB)  $(FFTW_LIB)  $(GSL_LIBS)  -lgsl -lgslcblas

现在有两件事让我对此感到困惑 - 我最近安抚了GADGET2,它有一个几乎相同的Makefile,也有:

SYSTYPE=”Chris@Adam”

#————————————— Adjust settings for target computer

ifeq ($(SYSTYPE),”Chris@Adam”)
CC = mpicc
OPTIMIZE = -O3 -Wall
GSL_INCL = -I/usr/local/include
GSL_LIBS = -L/usr/local/lib
FFTW_INCL= -I/usr/local/include
FFTW_LIBS= -L/usr/local/lib
MPICHLIB = -L/usr/lib
endif

...

LIBS   =   $(HDF5LIB) -g  $(MPICHLIB)  $(GSL_LIBS) -lgsl -lgslcblas -lm $(FFTW_LIB)

所以我不明白为什么make GADGET2没问题,但是我试图安装的其他软件包没有?是什么导致错误?我读过一些有类似错误的previous questions on this,他们建议添加一个符号链接,但我甚至找不到实际存储mpich的位置,我能找到的唯一可执行文件或符号链接是mpicc

1 个答案:

答案 0 :(得分:1)

如果您使用的是MPICH提供的mpicc,则无需添加-lmpich您的标记。 mpicc包装器应该为您处理所有这些。如果您想查看mpicc变成什么,可以使用mpicc -show