0

我正在尝试编译 WRF(怀疑是否相关)并且遇到了一个问题,即使用编译脚本运行时 mpicc 会挂起。icc 和 mpif90 没有问题。编译脚本使用 #!/bin/csh -f 执行

只是为了冗长,这里有一个例子。我运行脚本并到达这里

make[3]: Entering directory `/home/jason/wrf/wrf3.5/external/RSL_LITE'
mpicc  -DMPI2_SUPPORT -DMPI2_THREAD_SUPPORT -DFSEEKO64_OK  -w -O3  -DDM_PARALLEL -DMAX_HISTORY=25 -DNMM_CORE=0  -c rsl_bcast.c

并挂起。所以我自己运行那条线

jason@server:~/wrf/wrf3.5$ cd /home/jason/wrf/wrf3.5/external/RSL_LITE
jason@server:wrf3.5/external/RSL_LITE$ mpicc  -DMPI2_SUPPORT -DMPI2_THREAD_SUPPORT -DFSEEKO64_OK  -w -O3  -DDM_PARALLEL -DMAX_HISTORY=25 -DNMM_CORE=0  -c rsl_bcast.c
jason@server:wrf3.5/external/RSL_LITE$

立即编译。再次启动编译脚本会做完全相同的事情,但在下一个文件上。我不知道该怎么做,这在谷歌上基本上是不可能的。

4

2 回答 2

0

出于存档目的,解决方案是添加“-cc=icc”。

于 2013-06-26T01:51:34.220 回答
0

如果您像这样启动它,该命令是否有效

env -i $SHELL -c 'cd /home/jason/wrf/wrf3.5/external/RSL_LITE && mpicc -DMPI2_SUPPORT -DMPI2_THREAD_SUPPORT -DFSEEKO64_OK -w -O3 -DDM_PARALLEL -DMAX_HISTORY=25 -DNMM_CORE=0 -c rsl_bcast.c

? 可能是缺少环境变量是罪魁祸首。

另外,命令中那些多余的空格是什么?您可以尝试运行uniname -bcp Makefile以查看其中是否有任何[ \t\n]可能与命令行混淆的非字符?

于 2013-06-25T07:50:22.947 回答