如何将-libm传递给MPICC? libimf.so:警告:feupdateenv未实现且始终失败

我是一个新手试图通过mpiccgcc替换icc来编译程序。 我已经发现 ,我需要使用以下命令进行编译

 $ 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 

尝试:

 $ make clean $ OMPI_CC=gcc OMPI_LDFLAGS=-lm make 

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

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

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