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

时间:2010-07-28 15:59:47

标签: c gcc linker openmpi

我是新手,试图通过mpiccicc替换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

2 个答案:

答案 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