[Allegro] Compilierung von acon unter Linux

Jörg Oberfell oberfell at wlb-stuttgart.de
Mi Mär 14 15:21:30 CET 2012


Lieber Herr Berger, liebe Liste,

vielen Dank für Ihre Hilfe. Mit zwei kleinen Ergänzungen (s. Schritt 3) 
hat das Compilieren nun geklappt.

Für alle, die es interessiert, fasse ich die Schritte nochmals zusammen:

1.) ac15, aindex und acon (aus acon/trunk) muessen in parallelen 
Verzeichnisse vorliegen, es darf keine Zwischenebene (wie trunk) geben.

2.) Die jeweiligen Makefile.am auf die gewuenschte Plattform patchen. 
Für Linux muss in allen drei Makefile.am das -DUNIX=1 ergänzt werden um 
ein zusätzliches (!)  -DLINUX=1

3.) Folgende Schritte im Hauptverzeichnis ausführen (ich musste automake 
mit der Option --add-missing verwenden; autoscan war hilfreich, um 
configure.ac automatisch zu erzeugen)

autoscan
mv configure.scan configure.ac
autoheader
vim configure.ac
    Ergaenzung direkt nach AC_INIT:
      AM_INIT_AUTOMAKE
    Ergaenzung unter # Checks for programs
      AC_PROG_RANLIB
aclocal
automake --add-missing --copy
autoconf
./configure

4.)
> Nun sollten Sie in den drei Unterverzeichnissen Makefiles haben, und sind
> damit endlich in der Lage, den ausgecheckten Kram (etwa die
> .dep-Unterverzeichnisse) zunaechst einmal aufzuraeumen, um einen sauberen
> *Ausgangszustand* herzustellen:
>
> Fuer jedes der drei Verzeichnisse also hineinwechseln und "make distclean"
> geben.

5.)
> Zurueck auf die Hauptebene und erneut mit
>
> ./configure
>
> die Makefiles bauen
>
> dann ins acon-Unterverzeichnis und
> "make" geben (die make's fuer ac15 und aindex sind da fest verdrahtet,
> die make clean und make distclean leider nicht).

Damit sollte ein lauffähiges Programm entstehen.

> Mit der Methode bin ich ziemlich weit gekommen, einzig die Indexzugriffe
> funktionieren nicht. Vermutlich liegt das daran, dass ich hier nur 64bit-
> Maschinen habe und noch keinen Crosscompiler fuer i386 installiert habe
> und in den Indexstrukturen duerfte es einige Hunde geben, wo implizit davon
> ausgegangen wird, dass int und long eine gewisse Breite haben ;-(

Das Programm ist zwar an sich lauffähig, stürzt aber auf einem anderen 
System noch ab:
*** invalid open call: O_CREAT without mode ***
Das kann ich mir aber erst nächste Woche anschauen.

Erstmal vielen Dank.

Viele Grüße,
Jörg Oberfell

-- 
**********************************************************************
    Jörg Oberfell
    Württembergische Landesbibliothek
    - IT-Abteilung -
    - Fachreferat Mathematik und Informatik -
    Konrad-Adenauer-Str. 8   D-70173 Stuttgart
    Postfach 105441          D-70047 Stuttgart
    Tel.: +49 (0)711 / 212 - 44 75
    Fax:  +49 (0)711 / 212 - 44 22
**********************************************************************





Mehr Informationen über die Mailingliste Allegro