HTCondor gcc:试图执行'cc1'时出错:execvp:没有这样的文件或目录

时间:2017-11-17 14:07:40

标签: gcc condor

当我使用HTCondor提交包含gcc code.c -o code.o之类的shell脚本时,错误文件会显示error trying to exec 'cc1': execvp: No such file or directory。 但是,当我只在执行机器上的shell中键入gcc code.c -o code.o时,一切正常。 谁知道原因?我正在研究ubuntu-16.04.2-server-amd64。

1 个答案:

答案 0 :(得分:0)

在HTCondor环境中可能会定义环境变量,将gcc设置为在错误的位置搜索cc1(内部编译器可执行文件),例如GCC_EXEC_PREFIX和{{1} },或者,HTCondor中的COMPILER_PATH可能缺少gcc(请参阅here关于有影响力的GCC环境变量)。

我建议采用以下故障排除程序:

  • 在普通shell中,检查gcc(PATH)的位置。
  • 确保gcc所在的文件夹是HTCondor中which gcc的一部分 - 或者将其附加到PATHPATH)的开头。
  • 确保未在HTCondor环境中设置变量export PATH=/path/to/gcc:$PATHGCC_EXEC_PREFIX
  • 如果以上操作不起作用,您可以尝试相反的方法并将COMPILER_PATH设置为HTCondor脚本中gcc的位置。

修改

根据您的调查结果,将GCC_EXEC_PREFIX命令添加到getenv = true (doc)可以解决问题:

  

getenv =(True | False)
  如果getenv设置为True,则condor_submit会将作业提交时所有用户的当前shell环境变量复制到作业ClassAd中。因此,作业将使用用户在提交时具有的相同环境变量集执行。