Hallo,
nach einigem hin und herprobieren habe ich es geschafft Python 2.6.4 und Python 3.1.1 für den Wiz zu kompilieren. Das Python 3.1.1 konnte ich auch bereits testen... Es läuft.
Hat schon mal irgendwer hier im Forum versucht pygame für den Wiz zu bauen? Ich komme einfach nicht drauf wie ich das Paket mit dem enstprechenden Python und der openwiz-toolchain bauen kann.
Ich liste jetzt hier mal die Schritte auf die ich bisher gemacht habe. Das kann dann auch gleich als Anleitung dienen Python 3.1.1 zu installieren.
1. Ubuntu installieren
Ich habe in einer Virtualbox-Instanz Ubuntu 9.10 installiert.
Zusätzlich zu den Standard-Paketen sind noch automake und autoconf dazugekommen.
2. Toolchain installieren
Ich habe die Linux-Toolchain unter folgendem Link: Toolchain verwendet. Diese Toolchain enthält bereits ein paar Bibliotheken wie SDL, zlib, jpeg, png ...
Da ich kein grosser Freund von Installationen im Root-Verzeichnis bin habe ich das Archiv in /opt entpackt und alle Symlinks repariert.
3. Python Source herunterladen und entpacken
Dieses Python-Source-Archiv habe ich genommen: Python
Herunterladen:
4. Hostpython bauen
Vorgegangen bin ich zunächst nach dieser hervorragenden Anleitung auf randomsplat. Link
Also:
5. Python für den WIZ bauen
So jetzt geht's los mit dem eigentlichen Crosscompiling.
Auf der Seite mit der Anleitung gibt es einen Patch für das Crosscompiling: Link
Ab hier läuft es jetzt ein bisschen anders, da der patch nicht alle tests vom configure-script bereinigt.
In der Datei: configure.in nach sem_getvalue suchen und den ganzen Test auskommentieren. Zeilen 3290-3316
Nach chflags suchen und den ganzen Test auskommentieren. Zeilen 2538-2553
Nach lchflags suchen und den ganzen Test auskommentieren. Zeilen 2555-2568
Danach geht's wie folgt weiter:
6. Python auf dem WIZ testen
In dem _install Verzeichnis unter dem Python-3.1.1 Verzeichnis befindet sich jetzt ein komplettes Python für den WIZ. Das kann ich auf eine SD Karte kopieren und auf dem WIZ starten. Dann bekomme ich den Python-Prompt. :-D
Weiter bin ich noch nicht gekommen. Als nächstes werde ich die Python tests mal starten und sehen was passiert.
Das Verzeichnis ist noch recht umfangreich. Das möchte ich noch auf ein Minimum reduzieren.
7. PyGame
Jetzt nochmal zurück zu meiner eigentlichen Frage. Ich bekomme das setup.py Script von pygame nicht dazu das oben kompilierte Python zu verwenden. Geschweige denn den Compiler aus der Toolchain zu nehmen. Hat jemand Erfahrung mit dem Crosscompiling von distutils-basierten Paketen?
Vielleicht kann ja jemand meinen Weg nachvollziehen und mir einen Tip geben?
Vielen Dank
Ciao Ludwig
nach einigem hin und herprobieren habe ich es geschafft Python 2.6.4 und Python 3.1.1 für den Wiz zu kompilieren. Das Python 3.1.1 konnte ich auch bereits testen... Es läuft.
Hat schon mal irgendwer hier im Forum versucht pygame für den Wiz zu bauen? Ich komme einfach nicht drauf wie ich das Paket mit dem enstprechenden Python und der openwiz-toolchain bauen kann.
Ich liste jetzt hier mal die Schritte auf die ich bisher gemacht habe. Das kann dann auch gleich als Anleitung dienen Python 3.1.1 zu installieren.
1. Ubuntu installieren
Ich habe in einer Virtualbox-Instanz Ubuntu 9.10 installiert.
Zusätzlich zu den Standard-Paketen sind noch automake und autoconf dazugekommen.
2. Toolchain installieren
Ich habe die Linux-Toolchain unter folgendem Link: Toolchain verwendet. Diese Toolchain enthält bereits ein paar Bibliotheken wie SDL, zlib, jpeg, png ...
Da ich kein grosser Freund von Installationen im Root-Verzeichnis bin habe ich das Archiv in /opt entpackt und alle Symlinks repariert.
3. Python Source herunterladen und entpacken
Dieses Python-Source-Archiv habe ich genommen: Python
Herunterladen:
Code:
<i>
</i>wizdev:~$ cd Downloads && wget http://python.org/ftp/python/3.1.1/Python-3.1.1.tar.bz2
wizdev:~/Downloads$ cd
wizdev:~$ tar xjvf Downloads/Python-3.1.1.tar.bz2
Vorgegangen bin ich zunächst nach dieser hervorragenden Anleitung auf randomsplat. Link
Also:
Code:
<i>
</i>wizdev:~$ cd Python-3.1.1
wizdev:~/Python-3.1.1$ ./configure
...
wizdev:~/Python-3.1.1$ make python Parser/pgen
wizdev:~/Python-3.1.1$ mv python hostpython
wizdev:~/Python-3.1.1$ mv Parser/pgen Parser/hostpgen
wizdev:~/Python-3.1.1$ make distclean
So jetzt geht's los mit dem eigentlichen Crosscompiling.
Auf der Seite mit der Anleitung gibt es einen Patch für das Crosscompiling: Link
Code:
<i>
</i>wizdev:~/Python-3.1.1$ wget http://randomsplat.com/wp-content/uploads/2009/08/Python-3.1.1-xcompile.patch
wizdev:~/Python-3.1.1$ patch -p1 < Python-3.1.1-xcompile.patch
In der Datei: configure.in nach sem_getvalue suchen und den ganzen Test auskommentieren. Zeilen 3290-3316
Nach chflags suchen und den ganzen Test auskommentieren. Zeilen 2538-2553
Nach lchflags suchen und den ganzen Test auskommentieren. Zeilen 2555-2568
Danach geht's wie folgt weiter:
Code:
<i>
</i>wizdev:~/Python-3.1.1$ autoconf
wizdev:~/Python-3.1.1$ export PATH=$PATH:/opt/arm-openwiz-linux-gnu/bin
wizdev:~/Python-3.1.1$ LDFLAGS="-L/opt/arm-openwiz-linux-gnu/lib" CPPFLAGS="-I/opt/arm-openwiz-linux-gnu/include" CXX=arm-openwiz-linux-gnu-g++ CC=arm-openwiz-linux-gnu-gcc AR=arm-openwiz-linux-gnu-ar RANLIB=arm-openwiz-linux-gnu-ranlib ./configure --host=arm-openwiz-linux-gnu --build=i686-pc-linux-gnu --prefix=/python
...
wizdev:~/Python-3.1.1$ make HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen BLDSHARED="arm-openwiz-linux-gnu-gcc -shared" CROSS_COMPILE=arm-openwiz-linux-gnu- CROSS_COMPILE_TARGET=yes
...
wizdev:~/Python-3.1.1$ make install HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen BLDSHARED="arm-openwiz-linux-gnu-gcc -shared" CROSS_COMPILE=arm-openwiz-linux-gnu- CROSS_COMPILE_TARGET=yes prefix=~/Python-3.1.1/_install
In dem _install Verzeichnis unter dem Python-3.1.1 Verzeichnis befindet sich jetzt ein komplettes Python für den WIZ. Das kann ich auf eine SD Karte kopieren und auf dem WIZ starten. Dann bekomme ich den Python-Prompt. :-D
Weiter bin ich noch nicht gekommen. Als nächstes werde ich die Python tests mal starten und sehen was passiert.
Das Verzeichnis ist noch recht umfangreich. Das möchte ich noch auf ein Minimum reduzieren.
7. PyGame
Jetzt nochmal zurück zu meiner eigentlichen Frage. Ich bekomme das setup.py Script von pygame nicht dazu das oben kompilierte Python zu verwenden. Geschweige denn den Compiler aus der Toolchain zu nehmen. Hat jemand Erfahrung mit dem Crosscompiling von distutils-basierten Paketen?
Vielleicht kann ja jemand meinen Weg nachvollziehen und mir einen Tip geben?
Vielen Dank
Ciao Ludwig