2011-09-28 80 views
2

我试图编译一个Ada项目。Ada - 奇怪的错误 - gcc/gnatbind的一致版本

我从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 /蚊蚋/斌/ GCC
这gnatbind如果键入它给我的/ usr /蚊蚋/斌/ 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)
Copyright (C) 1997-2011, Free Software Foundation, Inc. Source Search Path: <Current_Directory> /usr/gnat/lib/gcc/i686-pc-linux-gnu/4.5.3/adainclude/ Object Search Path: <Current_Directory> /usr/gnat/lib/gcc/i686-pc-linux-gnu/4.5.3/adalib/ Project Search Path: <Current_Directory> /usr/gnat/i686-pc-linux-gnu/lib/gnat /usr/gnat/share/gpr /usr/gnat/lib/gnat
+1

'gnatls -v'说什么? (应该开始GNATLS GPL 2011 ...)以及您使用的操作系统是什么? –

+0

BTW:该语言被称为“Ada”,而不是“ADA”。它是一个名字,而不是缩写。 – oenone

+0

GNATLS GPL 2011(20110419)
版权所有(C)1997-2011,自由软件基金会,公司 源文件搜索路径: 在/ usr /蚊蚋/ 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 – michele

回答

2

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

查看关于ali文件的Debian Ada Policy部分。

+0

最后是这种情况,我使用的旧版本的XMLAda与旧的GNAT一起编译,重新编译为最新版本,一切正常。 – michele