Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux CentOS 8上未安装Adacore GNATCOLL库_Linux_Ada_Centos8_Gnat Gps - Fatal编程技术网

Linux CentOS 8上未安装Adacore GNATCOLL库

Linux CentOS 8上未安装Adacore GNATCOLL库,linux,ada,centos8,gnat-gps,Linux,Ada,Centos8,Gnat Gps,我最近在CentOS 7和Debian 9上使用了gnatcoll库,这两种操作系统的安装过程是相同的 当我尝试在CentOS 8上进行此安装时,收到以下错误消息: [lloyd@localhost sql]$ PATH=/home/lloyd/opt/GNAT/2020/bin:$PATH [lloyd@localhost sql]$ make setup [lloyd@localhost sql]$ make gprbuild -p -m --target=x86_64-linux -j0

我最近在CentOS 7和Debian 9上使用了gnatcoll库,这两种操作系统的安装过程是相同的

当我尝试在CentOS 8上进行此安装时,收到以下错误消息:

[lloyd@localhost sql]$ PATH=/home/lloyd/opt/GNAT/2020/bin:$PATH
[lloyd@localhost sql]$ make setup
[lloyd@localhost sql]$ make
gprbuild -p -m --target=x86_64-linux  -j0 -XGNATCOLL_VERSION=0.0 -XBUILD=PROD  -XLIBRARY_TYPE=static -XXMLADA_BUILD=static -XGPR_BUILD=static \
    gnatcoll_sql.gpr
Compile
   [Ada]          gnatcoll-sql_impl.adb
   [Ada]          gnatcoll-sql_fields.adb
   [Ada]          gnatcoll-sql.adb
   [Ada]          gnatcoll-sql-orm.adb
gnatcoll-sql_impl.adb:1679:44: "UTC_Time_Offset" is not visible (more references follow)
gnatcoll-sql_impl.adb:1679:44: non-visible declaration at a-catizo.ads:28
gnatcoll-sql_impl.adb:1679:44: non-visible declaration at a-calend.ads:403
gnatcoll-sql_impl.adb:1679:44: "UTC_Time_Offset" is not visible (more references follow)
gnatcoll-sql_impl.adb:1679:44: non-visible declaration at a-catizo.ads:28
gnatcoll-sql_impl.adb:1679:44: non-visible declaration at a-calend.ads:403
gnatcoll-sql_impl.adb:1679:44: "UTC_Time_Offset" is not visible (more references follow)
gnatcoll-sql_impl.adb:1679:44: non-visible declaration at a-catizo.ads:28
gnatcoll-sql_impl.adb:1679:44: non-visible declaration at a-calend.ads:403

   compilation of gnatcoll-sql.adb failed
   compilation of gnatcoll-sql_fields.adb failed
   compilation of gnatcoll-sql_impl.adb failed

gprbuild: *** compilation phase failed
make: *** [Makefile:116: build-static] Error 4

如果您对如何解决此问题并安装库有任何建议,我们将不胜感激

谢谢,
劳埃德

我以前的回答有点不正确:所以你不能用GNAT CE 2020开箱即用,因为GNAT CE 2020的版本已经过时了<代码>GNATCOLL db位于
GNATCOLL core
上,后者已被删除


因此,您首先必须构建并安装更新的
GNATCOLL核心
,然后构建
GNATCOLL数据库
。不过,如果您赶时间,也可以签出并构建稍旧的分支(例如,
20.2
)。

您可能希望在运行
make
之前运行
make安装程序,并更新了OP。不幸的是,输出是相同的。请尝试在调试模式下生成-也请尝试再次提取源代码。在2020-06-11提交了有问题的代码部分。也就是说,我不知道它是如何工作的,即使与版本;看不到任何
函数“-”(time,integral type)返回时间
Ow,这是由于
GNATCOLL.Utils
(请参阅)发生了更改。更新了我的答案。@DeeDee,我真的很讨厌AdaCore
在上下文子句中直接使用
几乎所有包的方式。@SimonWright,嗯,至少在这种情况下,它并不能真正帮助更遥远的代码读者。我个人会更明确地引用
GNATCOLL.Utils.UTC\u Time\u Offset
,以使代码的这一部分更符合(尽管该原则通常与UX/软件功能设计相关,但也应应用于代码IMHO)。
[lloyd@localhost sql]$ gcc --version
gcc (GCC) 9.3.1 20200430 (for GNAT Community 2020 20200818)
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
See your AdaCore support agreement for details of warranty and support.
If you do not have a current support agreement, then there is absolutely
no warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.