Wie Baue 32bit python 2.6 auf 64-bit-Linux?

Bin ich fest für einen ganzen Nachmittag jetzt versuchen, um python zu bauen, die im 32bit-Modus. Ich betreibe ein 64bit Linux-Rechner mit openSUSE 11.3, ich habe den nötigen -devel und -32bit-Pakete installiert, die zum erstellen von Anwendungen im 32bit Modus.

Das problem mit der python-build zu sein scheint, nicht in der Ausführung selbst, sondern in den danach laufen setup.py, geltend machen.

Fand ich folgende Anleitung für Ubuntu Linux: h**p://indefinitestudies.org/2010/02/08/how-to-build-32-bit-python-on-ubuntu-9-10-x86_64/

Wenn ich wie beschrieben, ich bekomme die folgende Ausgabe:

http://pastebin.com/eP8WJ8V4

Aber ich habe die 32bit-Pakete von libreadline, libopenssl, etc.pp. installiert, aber natürlich, Sie befinden sich unter /lib und /usr/lib und nicht in /lib64 und /usr/lib64.

Wenn ich starten Sie den python-binary, dass die Ergebnisse aus diesem build, den ich bekommen:

./python
Python 2.6.6 (r266:84292, Oct  5 2010, 21:22:06) 
[GCC 4.5.0 20100604 [gcc-4_5-branch revision 160292]] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
  File "/etc/pythonstart", line 7, in <module>
    import readline
ImportError: No module named readline

So, wie man setup.py zu beachten LDFLAGS=-L/lib-Befehl??

Jede Hilfe wird sehr geschätzt.

Grüße,
Philipp

  • Es kann overkill, aber ein Weg, es zu tun, ist die Einrichtung eines 32-bit-chroot-Gefängnis, und kompilieren Sie es. Es zumindest garantiert, dass Sie nicht mischen Sie 32-und 64-bit-Bibliotheken beim kompilieren.
  • dies ist definitiv overkill. Bin ich die einzige person in der Welt wollen ein 32-bit Linux build von python??? Ich googeln für Stunden jetzt und nur Anweisungen für Mac. Abgesehen von dem Beitrag oben erwähnt, niemand hat den Unterricht für Linux!
  • Du bist nicht der einzige. Ich benutze meinen wegen IDA Pro python-bindings sind 32 bit und ich möchte nicht eine vollständige Gefängnis ... ich habe es nur mit dem link, den du den Zeiger oben und klappte es meistens gut für mich. Nur _bsddb und _tkinter Module nicht bauen. Das erstere, weil es versucht, den link db-4.7 (das ist mein 64-bit-version), anstatt db-4.8, die mein 32-bit-version. Letzteres, weil ich habe keine tk 32 bits.
  • Ein weiterer Grund, dies zu tun ist, wenn Sie die Erstellung einer verteilbaren binäre Ihrer Python-Programm mit so etwas wie PyInstaller (so dass die Benutzer ausführen können, ohne Durcheinander mit pip, oder haben Sie die richtige version von Python installiert ist, oder sogar die Python installiert ist.) Die ausführbare Datei PyInstaller produziert werden 64-bit wenn Ihr Python ist 64 bit, also 32 bit, Benutzer können nicht ausgeführt es.
InformationsquelleAutor Philipp | 2010-10-05
Schreibe einen Kommentar