首页 > 解决方案 > 在 Mac os 上编译 .adb 后 Gnatmake 编译错误

问题描述

我刚刚安装了带有 GPS 的 AdaCore 社区编译器(dwarvin 版本gnat-community-2018-20180523-arm-elf-darwin-bin.dmg)。使用来自 adacore 的相应安装程序。我还设法在我的起始脚本中添加了 gnat 的路径。到这里一切正常,gnat --version返回适当的版本等。

但是当我想编译一个.adb文件时gnatmake filename.adb

user$ gnatmake filename.adb

gcc -c filename.adb
gcc: error trying to exec 'gnat1': execvp: No such file or directory
gnatmake: "filename.adb" compilation error

即使在使用后gnatmake -c filename.adb我也得到了

gcc -c filname.adb
gcc: error trying to exec 'gnat1': execvp: No such file or directory
gnatmake: "filename.adb" compilation error

我向我的教授寻求帮助,他说使用提供的虚拟机(用于 Windows)我只是想避免使用虚拟机。请帮我解决这个错误。

运行以下命令后gnatmake filname.adb -cargs -c,出现以下情况。

gcc -c -v filename.adb
Using built-in specs.
COLLECT_GCC=/opt/gps//bin/gcc
Target: x86_64-apple-darwin16.7.0
Configured with: ../src/configure --enable-languages=ada,c,c++,objc --enable-lto --with-stage1-ldflags=-static-libstdc++ --with-boot-ldflags=-static-libstdc++ --disable-libcilkrts --with-bugurl=URL:mailto:report@adacore.com --disable-nls --without-libiconv-prefix --disable-libstdcxx-pch --disable-libada --enable-checking=release --disable-multilib --with-mpfr=/gnatmail/sandbox/community/x86_64-darwin/mpfr_stable-c/install --with-gmp=/gnatmail/sandbox/community/x86_64-darwin/gmp_stable-c/install --with-mpc=/gnatmail/sandbox/community/x86_64-darwin/mpc_stable-c/install --with-build-time-tools=/gnatmail/sandbox/community/x86_64-darwin/gcc_current-c/build/buildtools/bin --prefix=/gnatmail/sandbox/community/x86_64-darwin/gcc_current-c/pkg --build=x86_64-apple-darwin16.7.0
Thread model: posix
gcc version 7.3.1 20180524 (for GNAT Community 2018 20180523) (GCC) 
COLLECT_GCC_OPTIONS='-gnatea' '-c' '-v' '-gnatez' '-mtune=core2' '-mmacosx-version-min=10.14.2'
 gnat1 -quiet -dumpbase filename.adb -auxbase filename -gnatez -gnatea -gnatez -mtune=core2 -mmacosx-version-min=10.14.2 -fPIC filename.adb -o /var/folders/9r/52d5kqc906v4phl9jgjrxdlr0000gn/T//ccQlDd19.s
gcc: error trying to exec 'gnat1': execvp: No such file or directory
gnatmake: "filename.adb" compilation error

标签: macosadagnat

解决方案


现在我们可以看到编译器是如何抱怨的(感谢问题中的更新),看起来好像你有安装问题。

在这里,我得到(编辑删除不太重要的部分)

[...]
COLLECT_GCC=/opt/gnat-ce-2018//bin/gcc

你有/opt/gps//bin/gcc,所以你的“前缀”(在其下可以找到安装)是/opt/gps,我的在哪里/opt/gnat-ce-2018(我不知道为什么那里有两个斜杠,似乎无关紧要)。然后,

[...]
 /opt/gnat-ce-2018/bin/../libexec/gcc/x86_64-apple-darwin16.7.0/7.3.1/gnat1 -quiet -dumpbase [...]

你刚才在哪里gnat1。所以,你应该有一个文件/opt/gps/libexec/gcc/x86_64-apple-darwin16.7.0/7.3.1/gnat1,它应该是可执行的。

我会尝试重新安装。


推荐阅读