Попытка установить Astrophysics-Code (HARM), но проблема с запуском команды make

Это руководство по установке:

https://github.com/atchekho/harmpi/blob/master/tutorial.md

Я получаю этот результат на make clean:

/bin/rm -f *.o *.il
/bin/rm -f harm image_interp 

, но при попытке make:

//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
makefile:109: recipe for target 'harm' failed
make: *** [harm] Error 1

я установил Open-MPI, используя это руководство http: //lsi.ugr.es/jmantas/pdp/ayuda/datos/instalaciones/Install_OpenMPI_en.pdf

Я НЕ МОГУ УСТАНОВИТЬ libopenmpi-dbg, и я установил libopenmpi2 вместо libopenmpi1.3

Не знаю, имеет ли это значение

, и у меня есть этот результат в GCC-версии:

gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1
задан 11 September 2019 в 16:15

1 ответ

Сообщение об ошибке

//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line

означает, что компоновщик не может найти символы из стандартной математической библиотеки: это знает, где они должны быть, и ожидали директиву -lm компоновщика по командной строке, но не нашли ту.

, Если Вы смотрите на обеспеченный makefile, Вы видите, что существуют некоторые назад и вперед о соответствующих флагах компоновщика при создании с MPI:

ifeq ($(USEMPI),1)
EXTRALIBS= #-lm #-lmpi
EXTRACCFLAGS=-DMPI
CC=mpicc #/usr/local/bin/mpicc
else
EXTRALIBS = -lm
EXTRACCFLAGS =
endif

В какой-то момент, автор программного обеспечения, должно быть, решил, что соединение libm не было необходимо в этом случае. Можно переопределить то решение о командной строке следующим образом

make EXTRALIBS=-lm

, вероятно, будет много предупреждений компилятора, которые можно проигнорировать.

2
ответ дан 10 November 2019 в 10:03

Другие вопросы по тегам:

Похожие вопросы: