【问题标题】:Ada - strange error - consistent version of gcc/gnatbindAda - 奇怪的错误 - gcc/gnatbind 的一致版本
【发布时间】:2011-09-28 00:10:18
【问题描述】:

我正在尝试编译一个 Ada 项目。

我从 Libre AdaCore 安装了当前的 2011 GNAT GPL 包,它也包含 gcc 编译器。

奇怪的错误如下

fatal error: file dom.ali is incorrectly formatted
make sure you are using consistent versions of gcc/gnatbind

如果我键入它给我的 gcc /usr/gnat/bin/gcc
如果我输入哪个 gnatbind 它给了我 /usr/gnat/bin/gnatbind

“格式错误”文件的内容如下

V "GNAT Lib v2011"
A -gnat05
A -gnatA
P ZX
R nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvnnnnnnnnnnnnnnnnnnn

U dom%s         dom.ads         2bd88f63 NE OO PK IU
D dom.ads       20090519080656 2bd88f63
D system.ads        20110419093140 2d1a1afa
X 1 dom.ads
44K9*DOM 46l5 46e8

有什么线索吗?

提前谢谢你

编辑:gnatls -v 显示以下内容(为便于阅读而格式化),

GNATLS GPL 2011 (20110419)
版权所有 (C) 1997-2011,Free Software Foundation, Inc. 源搜索路径: /usr/gnat/lib/gcc/i686-pc-linux-gnu/4.5.3/adainclude/ 对象搜索路径: /usr/gnat/lib/gcc/i686-pc-linux-gnu/4.5.3/adalib/ 项目搜索路径: /usr/gnat/i686-pc-linux-gnu/lib/gnat /usr/gnat/share/gpr /usr/gnat/lib/gnat

【问题讨论】:

  • gnatls -v 说什么? (应该从 GNATLS GPL 2011 开始...)您使用的是什么操作系统?
  • 顺便说一句:该语言称为“Ada”,而不是“ADA”。这是一个名称,而不是缩写。
  • GNATLS GPL 2011 (20110419)
    版权所有 (C) 1997-2011,Free Software Foundation, Inc. 源搜索路径: /usr/gnat/lib/gcc/i686-pc -linux-gnu/4.5.3/adainclude/ 对象搜索路径: /usr/gnat/lib/gcc/i686-pc-linux-gnu/4.5.3/adalib/ 项目搜索路径: /usr /gnat/i686-pc-linux-gnu/lib/gnat /usr/gnat/share/gpr /usr/gnat/lib/gnat
  • 我很抱歉识别错误,操作系统是 ubuntu 11.04。关于 Ada,你是对的。
  • 因为它在抱怨 dom.ali,所以我认为您正在使用 XMLAda。当您检索并安装 GNAT GPL 2011 时,您是否按照其说明下载并安装了它?如果您使用的是 gpr 配置文件,您是否“使用”了正确的 XMLAda gpr 文件?如果您使用 GPS 项目管理,您的项目是否依赖于正确的 XMLAda gpr 文件?如果您在命令行上使用 gnatmake,您是否包含正确的 XMLAda 目录?

标签: gcc ada gnat


【解决方案1】:

所有编译单元都必须使用完全相同的 GNAT 版本和使用的库版本进行编译。如果您使用预编译库,则可能需要重新编译它们。

参见Debian Ada Policy 部分关于 ali 文件。

【讨论】:

  • 最后是这样,我使用的是用旧 GNAT 编译的旧 XMLAda,用最新版本重新编译一切正常。
猜你喜欢
  • 2016-01-29
  • 2020-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-24
  • 1970-01-01
相关资源
最近更新 更多