macos - 在 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
解决方案
现在我们可以看到编译器是如何抱怨的(感谢问题中的更新),看起来好像你有安装问题。
在这里,我得到(编辑删除不太重要的部分)
[...]
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
,它应该是可执行的。
我会尝试重新安装。
推荐阅读
- flutter - 如何在颤动中显示/渲染 3D 产品文件(http 链接)?
- knime - Knime循环在不同的文件夹中写入csv文件?
- java - 编译使用单个依赖项 jar 文件的简单类时出错
- here-api - HERE SDK如何设置位置更新间隔?
- lucene - Lucene tfidf 没有 idf 的平方?
- node.js - TypeError:无法读取未定义的属性“密码”
- excel - VBA宏与手动过滤结果不同
- android - 什么是开发人员选项的记录器缓冲区大小
- php - Varnish 似乎根本没有缓存页面
- jquery - 父列jquery中的SharePoint 2010级联下拉错误