これはインストールのガイドです:
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
無視できるコンパイラ警告がいくつかある可能性があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加