1

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

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

谢谢,劳埃德

4

1 回答 1

2

我之前的回答有点不对:所以你不能用 GNAT CE 2020 开箱即用地构建它,因为 GNAT CE 2020GNATCOLL-core附带的版本落后了。GNATCOLL-db 依赖GNATCOLL-core而后者已经更新

因此,您首先必须构建并安装更新GNATCOLL-core后的GNATCOLL-db. 但是,如果您赶时间,您也可以签出并构建一个稍旧的分支(例如20.2)。

于 2020-09-24T18:52:56.430 回答