更新 GPS 社区版 2019 的编译器 IDE

Updating the Compiler for the GPS Community Edition 2019 IDE

我最近开始从事一个项目,该项目要求我的编译器高于 GNAT 4.8.5 - 当我转到:帮助 > 关于

你可以看到我使用的版本是4.8.5

此外,当我 运行 gnatls -v 命令时,我可以看到这个...

[parallels@localhost ~]$ gnatls -v

GNATLS 4.8.5 20150623 (Red Hat 4.8.5-39)
Copyright (C) 1997-2013, Free Software Foundation, Inc.

Source Search Path:
   <Current_Directory>
   /usr/lib/gcc/x86_64-redhat-linux/4.8.5/adainclude/


Object Search Path:
   <Current_Directory>
   /usr/lib/gcc/x86_64-redhat-linux/4.8.5/adalib/


Project Search Path:
   <Current_Directory>
   /usr/x86_64-redhat-linux/lib/gnat
   /usr/share/gpr
   /usr/lib/gnat

[parallels@localhost ~]$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ./configure --disable-multilib --enable-languages=c,c++,ada
Thread model: posix
gcc version 7.3.0 (GCC) 
[parallels@localhost ~]$ 

有人能告诉我如何更新我的 GNAT 编译器吗?另外,我使用的是Centos 7操作系统。

谢谢,

劳埃德

你不需要安装编译器,你已经有 3 个(至少):

  • gcc 4.8.5(系统编译器)在/usr/bin
  • gcc 7.3.0(您刚刚构建的)在 /usr/local/bin
  • /home/parallels/opt/GNAT/2019/bin
  • 中的
  • gcc 8.3.1(来自 GNAT CE 2019)

你的 PATH 决定你选择 gcc 时选择哪个 GCC,以及选择 [=17] 时选择哪个 GNATLS =]、..等

根据之前的 post,您的 PATH 是:

$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/var/lib/snapd/snap/bin:/home/parallels/.local/bin:/home/parallels/bin/home/parallels/opt/GNAT/2019/bin/home/parallels/opt/GNAT/2019/bin

所以当您只说 gcc 时,系统会查看 PATH 中的第一个条目(以冒号分隔),然后......就在那里!所以它执行那个。

如果您构建了支持 Ada 的 7.3.0 GCC,它会在同一个地方找到 gnatls。我非常怀疑你没有,所以当你说 gnatls 时,系统会查找 /usr/local/bin - 运气不好 - 然后在 /usr/local/sbin - 运气不好 - 然后在 /usr/bin - 哇哦!但那是你不想要的 4.8.5 GCC。

再次查看您的 PATH,最后一部分被破坏了 - 您添加了 /home/parallels/bin/home/parallels/opt/GNAT/2019/bin(两次)但没有包含冒号分隔符,导致路径不存在. (/home/parallels/bin 很可能已由系统添加 - 我假设 /home/parallels 是您的主目录)。

您需要做的是确保您选择了 GNAT CE 2019 附带的编译器,方法是将其位置 first 放在 PATH 中。一种方法是编辑 shell 启动文件。

不知道CENTOS是怎么设置账户的,也不知道你的shell是什么。假设它是 bash(键入 ps -p $$,应该返回 bash-bash;其他任何东西,我无能为力),您需要编辑 shell 启动文件——我对此不太清楚,但我认为它将是 ~/.bashrc~ 是 shorthand 用于您的主目录);查看 here 了解详细信息。找到最后提到的 PATH 并在该行之后立即插入

export PATH=/home/parallels/opt/GNAT/2019/bin:$PATH

打开一个新终端 window 然后说例如gnatls -v - 你应该拿起 GNAT CE 2019。

我知道从 AdaCore 更新 GNAT GPS CE 的唯一方法是下载新的,安装它,然后删除旧的。

另一件事是升级一些系统在存储库中的 gnat-gps