从makefile调用时,mpicc挂起;单个命令运行正常

时间:2013-06-25 04:18:11

标签: compilation makefile mpi icc

我正在尝试编译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$

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

2 个答案:

答案 0 :(得分: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]字符可能会弄乱命令行?

答案 1 :(得分:0)

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