我正在尝试编译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$
立即编译。再次启动编译脚本完成相同的操作,但在下一个文件上。我不知道该怎么做,这基本上不可能谷歌。
答案 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”。