Это руководство по установке:
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.
Сообщение об ошибке
//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
, вероятно, будет много предупреждений компилятора, которые можно проигнорировать.