Adacore GNATCOLL库未安装在CentOS 8上

问题描述

我最近一直在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

[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.

任何有关如何解决此问题和安装库的建议将不胜感激。

谢谢, 劳埃德(Lloyd)

解决方法

我以前的回答略有偏离:所以您不能立即使用GNAT CE 2020构建它,因为GNAT CE 2020附带的GNATCOLL-core版本已经落后。 {{1}上的GNATCOLL-db depends,而后者是updated

因此,您首先必须构建并安装更新的GNATCOLL-core,然后构建GNATCOLL-core。不过,如果您很着急,也可以结帐并建立一个稍旧的分支机构(例如GNATCOLL-db)。