Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

unknown error mesage

204 views
Skip to first unread message

ldries46

unread,
Mar 16, 2021, 1:49:26 PM3/16/21
to
During debugging an Ada program when building a new version I got the
following message:

gprbuild -d -PD:\ada\project\Datum\Datum.gpr -j8
Bind
   [gprbind]      datum.bexch
   [Ada]          datum.ali
fatal error: file gtk.ali is incorrectly formatted
make sure you are using consistent versions of gcc/gnatbind
56.  G a e
      |
gprbind: invocation of gnatbind failed
gprbuild: unable to bind datum.adb
[2021-03-16 18:40:50] process exited with status 4, 100% (63/63),
elapsed time: 02.63s

I have already deleted all .ali files in the build directory, deleted
the Datum.exe file, reinstalled GtkAda en even reinstalled GNAT Studio
Community version 2020.

Who can tell me what is message means and how to eliminate that

John McCabe

unread,
Mar 16, 2021, 2:21:18 PM3/16/21
to
On Tue, 16 Mar 2021 18:49:21 +0100, ldries46 <bertus...@planet.nl>
wrote:
I presume you've read this question with a similar issue?

https://stackoverflow.com/questions/7576994/ada-strange-error-consistent-version-of-gcc-gnatbind

The suggestion from that would appear to be that your gtk may have
been built with a different version of GNAT, hence you might need to
recompile the GtkAda library with whatever version of GNAT you've now
got.

However, did you download the GtkAda version matching the GNAT
Community version from here - https://www.adacore.com/download/more?

ldries46

unread,
Mar 17, 2021, 3:37:26 AM3/17/21
to
Op 16-3-2021 om 19:21 schreef John McCabe:
Yesterday I downloaded and installed GtkAda and GNAT Studio again from
the site you mentioned the error did not disappear.
In the mean time I tried to rebuild another project and it created a
simular problem but with glib.ali
I read the stack overflow item but I think that is not the problem.
For reasons of tracebility I did not build GtkAda in the original
directory but in C:/GNAT/GtkAda.
The last uodate of the OS was only a few days ago but after that it
still worhed

Simon Wright

unread,
Mar 17, 2021, 8:06:54 AM3/17/21
to
ldries46 <bertus...@planet.nl> writes:

> Op 16-3-2021 om 19:21 schreef John McCabe:
>> On Tue, 16 Mar 2021 18:49:21 +0100, ldries46 <bertus...@planet.nl>
>> wrote:
>>
>>> fatal error: file gtk.ali is incorrectly formatted
>>> make sure you are using consistent versions of gcc/gnatbind

>>> I have already deleted all .ali files in the build directory, deleted
>>> the Datum.exe file, reinstalled GtkAda en even reinstalled GNAT Studio
>>> Community version 2020.
>>>
>>> Who can tell me what is message means and how to eliminate that
>> I presume you've read this question with a similar issue?
>>
>> https://stackoverflow.com/questions/7576994/ada-strange-error-consistent-version-of-gcc-gnatbind
>>
>> The suggestion from that would appear to be that your gtk may have
>> been built with a different version of GNAT, hence you might need to
>> recompile the GtkAda library with whatever version of GNAT you've now
>> got.
>>
>> However, did you download the GtkAda version matching the GNAT
>> Community version from here - https://www.adacore.com/download/more?

> Yesterday I downloaded and installed GtkAda and GNAT Studio again from
> the site you mentioned the error did not disappear.
> In the mean time I tried to rebuild another project and it created a
> simular problem but with glib.ali
> I read the stack overflow item but I think that is not the problem.
> For reasons of tracebility I did not build GtkAda in the original
> directory but in C:/GNAT/GtkAda.
> The last uodate of the OS was only a few days ago but after that it
> still worhed

The complaint about mismatched versions is almost certainly derived from
the version info in the first line of an ALI file.

Here I see (from a collection of old StackOverflow-related
investigations)

First line Compiler
----------------- ------------
V "GNAT Lib v10" FSF GCC 10
V "GNAT Lib v11" FSF GCC 11
V "GNAT Lib v2019" GNAT CE 2019
V "GNAT Lib v2020" GNAT CE 2020
V "GNAT Lib v7" FSF GCC 7
V "GNAT Lib v8" FSF GCC 8
V "GNAT Lib v9" FSF GCC 9

Using a wrong ADA_PROJECT_PATH/GPR_PROJECT_PATH can lead to this. Using
gprbuild -v can help.

Also,

* Compile unit U with A.gpr which puts the ALI in directory A_OBJ
* Move unit U into the source tree for B.gpr which put the ALI in
directory B_OBJ
* Run gprclean on A.gpr, which doesn't delete U.ali because U is no logner
one of its sources
* Change compiler!

ldries46

unread,
Mar 17, 2021, 9:17:23 AM3/17/21
to
Op 17-3-2021 om 13:06 schreef Simon Wright:
This are the values:
GPR_PROJECT_PATH=C:\GNAT\GtkADA\lib\gnat;D:\ada\project\template-parser
ADA_PROJECT_PATH=C:\GNAT\GtkADA\lib\gnat;.....
I think The Path és are the same, I am using GNAT  Studio Community
version 2020 and all Gtk.ali are GNAT Lib v2020
gprbuild -v did not change anything. Changing the compiler is the worst
thing I can do because I cannot find any straight forward method os
installing like the mthod from Adacore

Simon Wright

unread,
Mar 17, 2021, 4:29:48 PM3/17/21
to
ldries46 <bertus...@planet.nl> writes:

> Op 17-3-2021 om 13:06 schreef Simon Wright:
>> The complaint about mismatched versions is almost certainly derived from
>> the version info in the first line of an ALI file.
>>
>> Here I see (from a collection of old StackOverflow-related
>> investigations)
>>
>> First line Compiler
>> ----------------- ------------
>> V "GNAT Lib v10" FSF GCC 10
>> V "GNAT Lib v11" FSF GCC 11
>> V "GNAT Lib v2019" GNAT CE 2019
>> V "GNAT Lib v2020" GNAT CE 2020
>> V "GNAT Lib v7" FSF GCC 7
>> V "GNAT Lib v8" FSF GCC 8
>> V "GNAT Lib v9" FSF GCC 9
>>
>> Using a wrong ADA_PROJECT_PATH/GPR_PROJECT_PATH can lead to this. Using
>> gprbuild -v can help.
>>
>> Also,
>>
>> * Compile unit U with A.gpr which puts the ALI in directory A_OBJ
>> * Move unit U into the source tree for B.gpr which put the ALI in
>> directory B_OBJ
>> * Run gprclean on A.gpr, which doesn't delete U.ali because U is no logner
>> one of its sources
>> * Change compiler!

I meant, if you run those steps in that order and then use a different
compiler to rebuild your project, you'll have one of the old compiler's
ALIs where it shouldn't be, and if gnatbind sees it you'll end up with
mismatched compiler versions and no amount of gprclean will fix it.

On the other hand, you have been reinstalling and rebuilding ...

> This are the values:
> GPR_PROJECT_PATH=C:\GNAT\GtkADA\lib\gnat;D:\ada\project\template-parser
> ADA_PROJECT_PATH=C:\GNAT\GtkADA\lib\gnat;.....

Sorry, no idea whether these are what they "should" be

> I think The Path és are the same, I am using GNAT  Studio Community
> version 2020 and all Gtk.ali are GNAT Lib v2020

> gprbuild -v did not change anything.

But reading the output might show you what it did.

Also, gprbuild ... -bargs -v might show you what gnatbind thinks it's
doing.

> Changing the compiler is the
> worst thing I can do because I cannot find any straight forward method
> os installing like the mthod from Adacore

No, not suggesting you should change, but this problem might be a result
of having changed in the past.

ldries46

unread,
Mar 18, 2021, 2:08:46 AM3/18/21
to
Op 17-3-2021 om 14:17 schreef ldries46:
I just show several possible positions for -v and -bargs but I cannot
find anything within them:

gprbuild -d -PD:\ada\project\Datum\Datum.gpr
Bind
   [gprbind]      datum.bexch
   [Ada]          datum.ali
fatal error: file gtk.ali is incorrectly formatted
make sure you are using consistent versions of gcc/gnatbind
56.  G a e
      |
gprbind: invocation of gnatbind failed
gprbuild: unable to bind datum.adb
[2021-03-18 06:46:01] process exited with status 4, 100% (63/63),
elapsed time: 02.38s

gprbuild -d -PD:\ada\project\Datum\Datum.gpr -bargs -v
Bind
   [gprbind]      datum.bexch
   [Ada]          datum.ali
fatal error: file gtk.ali is incorrectly formatted
make sure you are using consistent versions of gcc/gnatbind
56.  G a e
      |
gprbind: invocation of gnatbind failed
gprbuild: unable to bind datum.adb
[2021-03-18 06:50:12] process exited with status 4, 100% (63/63),
elapsed time: 02.51s

gprbuild -v -d -PD:\ada\project\Datum\Datum.gpr -bargs
Changing to object directory of "Datum": "D:\ada\project\Datum\build\"
C:\GNAT\GPS\libexec/gprbuild/gprbind.exe datum.bexch
C:\program files\gcc64\bin\gnatbind.exe -o b__datum.adb
D:\ada\project\Datum\build\datum.ali -x -O
fatal error: file gtk.ali is incorrectly formatted
make sure you are using consistent versions of gcc/gnatbind
56.  G a e
      |
gprbind: invocation of gnatbind failed
gprbuild: unable to bind datum.adb
[2021-03-18 06:52:55] process exited with status 4, 100% (63/63),
elapsed time: 02.40s

gprbuild -v -bargs -d -PD:\ada\project\Datum\Datum.gpr
using project file datum.gpr
Changing to object directory of "Datum": "D:\ada\project\Datum\build\"
C:\GNAT\GPS\libexec/gprbuild/gprbind.exe datum.bexch
C:\program files\gcc64\bin\gnatbind.exe -o b__datum.adb
D:\ada\project\Datum\build\datum.ali -d -PD:\ada\project\Datum\Datum.gpr
-x -O
gnatbind: invalid switch: -d
gprbind: invocation of gnatbind failed
gprbuild: unable to bind datum.adb
[2021-03-18 06:56:06] process exited with status 4, elapsed time: 02.40s

gprbuild -v -bargs -PD:\ada\project\Datum\Datum.gpr
using project file datum.gpr
Changing to object directory of "Datum": "D:\ada\project\Datum\build\"
C:\GNAT\GPS\libexec/gprbuild/gprbind.exe datum.bexch
C:\program files\gcc64\bin\gnatbind.exe -o b__datum.adb
D:\ada\project\Datum\build\datum.ali -PD:\ada\project\Datum\Datum.gpr -x -O
gnatbind: invalid switch: -PD:\ada\project\Datum\Datum.gpr
gprbind: invocation of gnatbind failed
gprbuild: unable to bind datum.adb
[2021-03-18 07:01:39] process exited with status 4, elapsed time: 02.41s

ldries46

unread,
Mar 18, 2021, 5:11:46 AM3/18/21
to
Op 17-3-2021 om 14:17 schreef ldries46:
I finally found the problem I believe
Datum.ali build by V "GNAT Lib v9"        GPS Community version 2020
gtk.ali nuild by        V "GNAT Lib v2020" AdaCore Download

Both are dowmloaded feom the same page of AdaCore.
What is the best way to solve this?

ldries46

unread,
Mar 18, 2021, 6:54:54 AM3/18/21
to
Op 17-3-2021 om 14:17 schreef ldries46:
How can I either install a GtkAda installarion which users the same
compiler as the GPS community version 2020  on windows 10 wirh the same
ease as the Adacore version or how can I if possible force the GOS
compiler to accept the difference

L. Dries

Stephen Leake

unread,
Mar 18, 2021, 7:40:29 AM3/18/21
to
ldries46 <bertus...@planet.nl> writes:

> I finally found the problem I believe
> Datum.ali build by V "GNAT Lib v9"        GPS Community version 2020
> gtk.ali nuild by        V "GNAT Lib v2020" AdaCore Download
>
> Both are dowmloaded feom the same page of AdaCore.
> What is the best way to solve this?

You will have to compile the one using the wrong GNAT Lib version from source.

--
-- Stephe

ldries46

unread,
Mar 18, 2021, 9:55:23 AM3/18/21
to
Op 18-3-2021 om 12:40 schreef Stephen Leake:
I had done so, but finally I decided to first delete Gtkada  and GPS and
after first install GPS again and then Gtkada where I had to present the
osition of the GPS position.

Simon Wright

unread,
Mar 18, 2021, 1:34:39 PM3/18/21
to
ldries46 <bertus...@planet.nl> writes:

>> This are the values:
>> GPR_PROJECT_PATH=C:\GNAT\GtkADA\lib\gnat;D:\ada\project\template-parser
>> ADA_PROJECT_PATH=C:\GNAT\GtkADA\lib\gnat;.....
>> I think The Path és are the same, I am using GNAT  Studio Community
>> version 2020 and all Gtk.ali are GNAT Lib v2020
>> gprbuild -v did not change anything. Changing the compiler is the
>> worst thing I can do because I cannot find any straight forward
>> method os installing like the mthod from Adacore
> I finally found the problem I believe
> Datum.ali build by V "GNAT Lib v9"        GPS Community version 2020

"GNAT Lib v9" is **not** generated by GNAT CE 2020.

I just tried on a 64-bit Windows virtual machine (the download was
gnat-2020-20200429-x86_64-windows-bin.exe, the shasum matches).

The ALI content is as I stated above,the same as your gtk.ali quoted
below.

Are you **100%** sure that the compiler you're running is the one you
think it is?

What does "gnatls -v" say? should be

GNATLS Community 2020 (20200429-93)
Copyright (C) 1997-2020, Free Software Foundation, Inc.
0 new messages