Hallo! Ich habe mir mein Python 2.34. auf Debian Woody kompiliert (mit libreadline4-dev installiert), aber irgendwie wurde es nicht kompiliert... Nun habe ich versucht das nachzukompilieren, aber es wollte wieder nicht: ich habe zwar es in Modules/Setup nach dem configure auskompiliert, aber es wurde nur eine readline.o erstellt (mit make sharedmods und die wurde in aller Ruhe im Modules/ Ordner gelassen). Danach habe ich es nach einigem rumprobieren geschafft eine readline.so zu erstellen, und diese dann in lib-dynload/ zu kopieren (Diese funktioniert ganz gut). Der o -> so Befehl war: gcc -pthread -shared Modules/readline.o -L/usr/local/lib -lreadline -o Modules/readline.so Warum so schwer? Warum wird readline nicht gleich gefunden und kompiliert, da es ja auf meinem System ganz eindeutig möglich ist? Und: könnte mir jemand den *richtigen* Befehl sagen mit dem man von Hand die readline.o erstellen kann (ich finde im Makefile nichts, und von C habe ich eigentlich auch kaum Ahnung) grüße, Marek _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
Marek Kubica wrote:
Ich habe mir mein Python 2.34. auf Debian Woody kompiliert (mit libreadline4-dev installiert), aber irgendwie wurde es nicht kompiliert...
Kannst Du das "irgendwie" noch genauer beschreiben? Wurde es gar nicht, ein bisschen nicht, oder ziemlich viel nicht kompiliert? M.a.W.: Wurde in dem Teil des Build-Prozesses, der setup.py ausführt, irgendwann readline erwähnt? Falls ja, was genau war die Ausgabe? Wenn alles funktioniert, sieht das ungefähr so aus: building 'readline' extension gcc -pthread -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -fno-strict-aliasing -I. -I/home/martin/work/py2.4/./Include -I/usr/local/include -I/home/martin/work/py2.4/Include -I/home/martin/work/py2.4 -c /home/martin/work/py2.4/Modules/readline.c -o build/temp.linux-i686-2.4/readline.o gcc -pthread -shared build/temp.linux-i686-2.4/readline.o -L/usr/lib/termcap -L/usr/local/lib -lreadline -lncurses -o build/lib.linux-i686-2.4/readline.so
Warum so schwer? Warum wird readline nicht gleich gefunden und kompiliert, da es ja auf meinem System ganz eindeutig möglich ist?
Ohne Zugriff zu Deinem System ist das schwer zu beantworten - auf meinem System funktioniert das problemlos.
Und: könnte mir jemand den *richtigen* Befehl sagen mit dem man von Hand die readline.o erstellen kann (ich finde im Makefile nichts, und von C habe ich eigentlich auch kaum Ahnung)
S.o. Ciao, Martin _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
On Sun, 31 Oct 2004 21:16:04 +0100 "Martin v. Löwis" <martin@v.loewis.de> wrote:
Marek Kubica wrote:
Ich habe mir mein Python 2.34. auf Debian Woody kompiliert (mit libreadline4-dev installiert), aber irgendwie wurde es nicht kompiliert...
Kannst Du das "irgendwie" noch genauer beschreiben? Wurde es gar nicht, ein bisschen nicht, oder ziemlich viel nicht kompiliert? Ähh? Also auf jeden Fall wird es nicht gelinkt (SO). Kompiliert (also in ein O) wird es.
M.a.W.: Wurde in dem Teil des Build-Prozesses, der setup.py ausführt, irgendwann readline erwähnt? Falls ja, was genau war die Ausgabe? Wenn alles funktioniert, sieht das ungefähr so aus:
building 'readline' extension gcc -pthread -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -fno-strict-aliasing -I. -I/home/martin/work/py2.4/./Include -I/usr/local/include -I/home/martin/work/py2.4/Include -I/home/martin/work/py2.4 -c /home/martin/work/py2.4/Modules/readline.c -o build/temp.linux-i686-2.4/readline.o gcc -pthread -shared build/temp.linux-i686-2.4/readline.o -L/usr/lib/termcap -L/usr/local/lib -lreadline -lncurses -o build/lib.linux-i686-2.4/readline.so
Kann ich jetzt schlecht sagen, wenn ich jetzt setup.py build_ext lade passiert gar nichts und wenn ich die build/ löschen würde dann dürfte ich den halben Tag mit kompilieren beschäftigt sein. Aber: readline.o ist nicht in build/ sondern nur in Modules/.
Und: könnte mir jemand den *richtigen* Befehl sagen mit dem man von Hand die readline.o erstellen kann (ich finde im Makefile nichts, und von C habe ich eigentlich auch kaum Ahnung)
S.o. Ups... jetzt habe ich termcap und ncurses vergessen... macht das was?
grüße, Marek _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
Marek Kubica wrote:
Kann ich jetzt schlecht sagen, wenn ich jetzt setup.py build_ext lade passiert gar nichts und wenn ich die build/ löschen würde dann dürfte ich den halben Tag mit kompilieren beschäftigt sein.
Du solltest einfach "make" aufrufen; das ruft dann seinerseits setup.py auf.
Aber: readline.o ist nicht in build/ sondern nur in Modules/.
Offenbar hast Du Modules/Setup editiert und readline mit reingenommen. Das sollte nicht erforderlich sein; ich empfehle, es rückgängig zu machen und den Prozess mit setup.py zu untersuchen. Das sollte nicht den halben Tag dauern, ausser vielleicht auf einem 386SX mit 25MHz, weil ja alle Module schon übersetzt sind, eben bis auf readline.
Ups... jetzt habe ich termcap und ncurses vergessen... macht das was?
ncurses vielleicht nicht - termcap schon. Ciao, Martin _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
participants (2)
-
"Martin v. Löwis"
-
Marek Kubica