Building QtAda on Fedora: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
h1. Building QtAda on Fedora 16
h1. Building QtAda on Fedora 16


First make sure you have the libgnat-static package installed. If you don't, you may get an error like the one in this bug:<br />https://bugzilla.redhat.com/show_bug.cgi?id=613407
First make sure you have the libgnat-static package installed. If you don't, you may get an error like the one in this bug:
https://bugzilla.redhat.com/show_bug.cgi?id=613407


Download the latest version of QtAda from http://www.qtada.com/en/download.html and extract the source.
Download the latest version of QtAda from http://www.qtada.com/en/download.html and extract the source.
Line 11: Line 12:
On Fedora 16, with gcc version gcc-4.6.3-2.fc16.x86_64, there seems to be a bug that causes the compiler to crash when compiling examples/qt_ada/tasking/jobs.adb. You may get an error like the one shown below.
On Fedora 16, with gcc version gcc-4.6.3-2.fc16.x86_64, there seems to be a bug that causes the compiler to crash when compiling examples/qt_ada/tasking/jobs.adb. You may get an error like the one shown below.


</code><br />''=GNAT BUG DETECTED''<br />| 4.6.3 20120306 (Red Hat 4.6.3-2) (x86_64-redhat-linux-gnu) Assert_Failure sem_ch3.adb:13325|<br />| Error detected at qt_ada-object_unchecked_deallocation.ads:34:9 [jobs.adb:37:7]|<br />| Please submit a bug report; see http://gcc.gnu.org/bugs.html. |<br />| Use a subject line meaningful to you and us to track the bug. |<br />| Include the entire contents of this bug box in the report. |<br />| Include the exact gcc or gnatmake command that you entered. |<br />| Also include sources listed below in gnatchop format |<br />| (concatenated together with no headers between files). |<br />''==''<br /><code>
</code>
''=GNAT BUG DETECTED''
| 4.6.3 20120306 (Red Hat 4.6.3-2) (x86_64-redhat-linux-gnu) Assert_Failure sem_ch3.adb:13325|
| Error detected at qt_ada-object_unchecked_deallocation.ads:34:9 [jobs.adb:37:7]|
| Please submit a bug report; see http://gcc.gnu.org/bugs.html. |
| Use a subject line meaningful to you and us to track the bug. |
| Include the entire contents of this bug box in the report. |
| Include the exact gcc or gnatmake command that you entered. |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files). |
''==''
<code>


A QtAda developer has stated this is due to a bug in gcc, and that it should compile okay with gcc 4.7.
A QtAda developer has stated this is due to a bug in gcc, and that it should compile okay with gcc 4.7.
Line 17: Line 29:
However, if you have gcc 4.6 and you want to get the examples to build, simply comment out the declaration of and call to the Free procedure in jobs.adb (but beware that using this example will then cause memory leaks).
However, if you have gcc 4.6 and you want to get the examples to build, simply comment out the declaration of and call to the Free procedure in jobs.adb (but beware that using this example will then cause memory leaks).


Then simply run:<br /></code>make</code>
Then simply run:
</code>make</code>


And then as root (or a user with permissions to write to the install dir):<br /><code>make install<code>
And then as root (or a user with permissions to write to the install dir):
<code>make install<code>

Revision as of 11:32, 25 February 2015

h1. Building QtAda on Fedora 16

First make sure you have the libgnat-static package installed. If you don't, you may get an error like the one in this bug: https://bugzilla.redhat.com/show_bug.cgi?id=613407

Download the latest version of QtAda from http://www.qtada.com/en/download.html and extract the source.

You have to use the pre-packaged gela/ASIS code (I couldn't find another version that would work on Fedora). Do this with the following configure command:

./configure without-gela<code>

On Fedora 16, with gcc version gcc-4.6.3-2.fc16.x86_64, there seems to be a bug that causes the compiler to crash when compiling examples/qt_ada/tasking/jobs.adb. You may get an error like the one shown below.

=GNAT BUG DETECTED | 4.6.3 20120306 (Red Hat 4.6.3-2) (x86_64-redhat-linux-gnu) Assert_Failure sem_ch3.adb:13325| | Error detected at qt_ada-object_unchecked_deallocation.ads:34:9 [jobs.adb:37:7]| | Please submit a bug report; see http://gcc.gnu.org/bugs.html. | | Use a subject line meaningful to you and us to track the bug. | | Include the entire contents of this bug box in the report. | | Include the exact gcc or gnatmake command that you entered. | | Also include sources listed below in gnatchop format | | (concatenated together with no headers between files). | ==

A QtAda developer has stated this is due to a bug in gcc, and that it should compile okay with gcc 4.7.

However, if you have gcc 4.6 and you want to get the examples to build, simply comment out the declaration of and call to the Free procedure in jobs.adb (but beware that using this example will then cause memory leaks).

Then simply run:

make

And then as root (or a user with permissions to write to the install dir): make install