[Allegro] Compilierung von acon unter Linux

Thomas Berger ThB at Gymel.com
Mi Mär 14 01:13:01 CET 2012


Lieber Herr Oberfell,

> Beidem kann ich zustimmen. Auch ich habe noch Schwierigkeiten, den Quelltext von
> acon unter Linux zu übersetzen (index o. ä. klappt dagegen).
> 
> Einige der Probleme kann ich dadurch umgehen, dass ich die fehlenden Dateien an
> die gesuchte Stelle kopiere. Ich vermute aber, dass bei meiner Vorgehensweise
> etwas Grundlegendes nicht stimmt. Weiß jemand Rat?

ac15, aindex und acon (aus acon/trunk) muessen in parallele Verzeichnisse
ausgecheckt werden, weil es da fest eincodierte Abhaengigkeiten gibt, auch
zu config.h eine Ebene drueber.

Die jeweiligen makefile.am sind auf die gewuenschte Plattform zu patchen,
derzeit scheinen sie auf solaris eingestellt (-DUNIX=1 es fehlt -DLINUX=1.
Die gehoeren da natuerlich gar nicht hin, sondern muessten von configure
herausgefunden werden, hilfsweise fuer configure als CXXFLAGS auf der
Kommandozeile gegeben. Trotz der offiziell wirkenden Namen sind diese
Defines voellig frei erfunden und von der Bedeutung nebuloes.)

Im darueberliegenden Verzeichnis (fuer das es dann ja kein Repository gibt)
fehlt dann configure.ac, das muss man sich basteln, Versionsnummern und
Projektname duerfen frei erfunden werden. Die absolut noetigen Ergaenzungen
des von autoscan erzeugten configure.scan haben Sie m.E. richtig erfasst.

Dann

autoheader
aclocal
automake    (weil aus dem uebergeordneten Verzeichnis aufgerufen, moniert
       es keine "missings")
autoconf
./configure

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.

Zurueck auf die Hauptebene und erneut mit

./configure

die Nakefiles bauen

dannn 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).

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 ;-(

viele Gruesse
Thomas Berger







Mehr Informationen über die Mailingliste Allegro