我是新手,试图通过mpicc
用icc
替换gcc
来编译程序。我有already discovered,我需要使用以下命令编译
$ OMPI_CC=gcc make
但是,我收到以下错误消息(which is well-known)
/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
答案 0 :(得分:0)
尝试:
$ make clean
$ OMPI_CC=gcc OMPI_LDFLAGS=-lm make
答案 1 :(得分:0)
使用--showme
标志来确定mpicc / mpi编译器包装器使用的标志。然后调用您自己选择的编译器(icc / gcc / pgcc / whatever)并添加相关标志,以便链接正确的MPI库。
请记住,您需要将--showme
与包装器的文件一起使用才能显示正确的标志。
更多信息在这里:http://www.open-mpi.org/faq/?category=mpi-apps#wrapper-showme-with-no-file