Forum: Compiler & IDEs Ada Compiler


von A.K. (Gast)


Lesenswert?

Hat jemand den Ada-Compiler schon zum laufen gekriegt? Meine Erfahrungen
damit, unter Verwendung der in der Anleitung verwendeten Versionen:

- Mingw: GCC lässt sich nicht übersetzen, Grund: "fixinc".

- Cygwin: Cross-System lässt sich prima übersetzen. Samples ebenfalls.
Nur ist das Ergebnis leer, 0 Byte Code, 0 Bytes Daten, leeres Hexfile.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> Mingw: GCC lässt sich nicht übersetzen, Grund: "fixinc".

Was heißt das genau?

von A.K. (Gast)


Lesenswert?

Ich probiere es grad nochmal, nachdem mir der Groschen fiel. Das
build-script ist sehr wenig defensiv geschrieben, null Fehlererkennung,
macht bei Fehler einfach weiter.

Da wird auf ein Patch verwiesen, der nicht dabei ist
(xgnatugn.adb.udiff), wodurch der fixinc-Patch nicht läuft.

Dass das für die Installation der Ada-Runtime verwendete
configure-script ausserdem eine bereits installierte Ada-Runtime
voraussetzt, ist auch so ein kleiner Scherz (der Test in "checking for
AVR cross compiler" funktioniert ohne bereits installierte Runtime
nicht).

von A.K. (Gast)


Lesenswert?

Yep, jetzt geht's.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

> Dass das für die Installation der Ada-Runtime verwendete
> configure-script ausserdem eine bereits installierte Ada-Runtime
> voraussetzt

Die Installation der AVR-spezifischen Bibliotheken setzt nur voraus
dass der GCC inkl. der dort mitgelieferten Runtime installiert ist.

von A.K. (Gast)


Lesenswert?

Warum lieferte mir dann der Aufruf (in configure)
  avr-gnatmake -c -q test
die Fehlermeldung, dass ihm die Runtime fehlt?

Ich habe diesen Teil dann rauskommentiert und schon ging's.

von Rolf Ebert (Gast)


Lesenswert?

> Warum lieferte mir dann der Aufruf (in configure)
>   avr-gnatmake -c -q test
> die Fehlermeldung, dass ihm die Runtime fehlt?

Weil der Check feststellen soll, ob bereits eine runtime installiert
ist oder nicht.  Wenn es nicht installiert ist, wird die lokale Kopie
verwendet (mittels --RTS=). Andernfalls ist das nicht nötig.  Das Ganze
sind historische Gründe und könnte eigentlich rausfliegen.

Gcc bootstrap unter MinGW ist eine Wissenschaft für sich, selbst ohne
Ada.  Die mingw patches sind außer einem alle für den normalen
Bootstrap nötig.  Der zuviel aufgeführte patch xgnatugn.adb.diff dürfte
kein fehlerhaftes Bauen bewirken.  Da hat noch was anderes nicht
geklappt.

Mich wundert, dass das Erstellen des Crosscompilers aus Cygwin heraus
funktioniert hat.  Hier gibt es einen bekannten Fehler:
http://sourceforge.net/tracker/index.php?func=detail&aid=1101979&group_id=74228&atid=540316
Der Compiler selbst (gnat1.exe) lässt sich mittlerweile bauen, aber
nicht die gnattools (dank gcc-3.4.4 mit exptra Patch in cygwin)

Bei weiteren Problemen oder auch Ergebnissen gerne persönliche E-Mail
oder auf der AVR-Ada-Devel mailing liste
(http://lists.sourceforge.net/mailman/listinfo/avr-ada-devel), oder
auch hier.

   Rolf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.