Не удается найти -mpich при использовании make

Попытка установить это программное обеспечение и распаковать архив , при попытке 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, но не для другого пакета, который я пытаюсь установить? И что вызывает ошибку? Я прочитал некоторые предыдущие вопросы по этому с похожими ошибками, и они предлагают добавить символическая ссылка, но я даже не могу найти, где на самом деле хранится mpich, единственный исполняемый файл или символическая ссылка, которую я могу найти, это mpicc.


person Plaetean    schedule 15.08.2017    source источник


Ответы (1)


Если вы используете mpicc поставляемый с MPICH, нет необходимости добавлять -lmpich свои флаги. Обертка mpicc должна позаботиться обо всем этом за вас. Если вы хотите увидеть, во что превращается mpicc, вы можете использовать mpicc -show.

person Wesley Bland    schedule 07.09.2017