2

我是一个新手,试图通过mpicc替换icc来编译程序gcc。我已经发现,我需要使用下面的命令来编译

$ OMPI_CC=gcc make

但是,我收到以下错误消息(这是众所周知的

/opt/intel/fce/9.1.036/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail

我试着做

$ make clean && OMPI_CC=gcc OMPI_LDFLAGS=-libm make

然后我看到

/usr/bin/ld: cannot find -libm
collect2: ld returned 1 exit status

但是,我在那里找到文件

lrwxrwxrwx /usr/lib/libm.so -> /lib/libm.so.6
lrwxrwxrwx /lib/libm.so.6 -> libm-2.3.6.so
-rw-r--r-- /lib/libm-2.3.6.so
4

2 回答 2

0

使用该--showme标志来确定 mpicc/mpi 编译器包装器使用的标志。然后调用您自己选择的编译器(icc/gcc/pgcc/whatever)并添加相关标志,以便链接正确的 MPI 库。

请记住,您需要使用--showme包装器的文件来显示正确的标志。

更多信息在这里:http ://www.open-mpi.org/faq/?category=mpi-apps#wrapper-showme-with-no-file

于 2011-03-04T15:35:34.300 回答
0

尝试:

$ make clean
$ OMPI_CC=gcc OMPI_LDFLAGS=-lm make
于 2010-07-29T16:18:46.417 回答