繁体   English   中英

mpicc - clang:错误:没有这样的文件或目录:

[英]mpicc - clang: error: no such file or directory:

几个月前我在这个Stack Overflow回答之后在macOS Mojave上安装了Open MPI 4.0.1。

当时一切正常,我设法编译并运行hello.c和其他一些程序。

但是当我今天尝试使用$HOME/opt/usr/local/bin/mpicc -o program_name ./program_name.c编译任何程序时,我收到错误信息clang: error: no such file or directory: './program_name.c' ,即使这些文件在该目录中。 它甚至不适用于hello.c。

但是当我尝试运行现有程序时,例如你好,使用$HOME/opt/usr/local/bin/mpirun -np 4 hello ,它可以工作。

所以我不明白,如果mpi可以找到并运行现有程序,我怎么能得到错误no such file or directory ,但是无法编译同一目录中的文件。

我也尝试使用cd $HOME/opt/usr/local/bin在该目录中定位,然后执行mpicc -o hello ./hello.c ,但后来我得到错误-bash: mpicc: command not found

有谁知道问题出在哪里以及如何解决?

如果遇到这样的问题,可以使用选项-v运行mpicc 这样,您可以查看背后执行的所有命令

> mpicc -v -o main ./main.c
Apple LLVM version 9.0.0 (clang-900.0.39.2)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.13.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.c -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fno-strict-return -masm-verbose -munwind-tables -target-cpu penryn -target-linker-version 305 -v -dwarf-column-info -debugger-tuning=lldb -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/9.0.0 -I ... -fdebug-compilation-dir /Users/... -ferror-limit 19 -fmessage-length 173 -stack-protector 1 -fblocks -fobjc-runtime=macosx-10.13.0 -fencode-extended-block-signature -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -o /var/folders/cx/76hd7pcs41g_vdj4qjfx0d4h0000gn/T/main-29e74d.o -x c ./main.c
clang -cc1 version 9.0.0 (clang-900.0.39.2) default target x86_64-apple-darwin17.7.0
...
...

这样,您就可以发现与编译器相关的问题。 此外,确保在系统/ XCode升级后您的工具链未更改。 如果您已从源代码编译MPI,则可能是您在编译时使用的内容与现在的内容之间存在一些差异。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM