Seite 1 von 1

Problem mit ./configure

Verfasst: Dienstag 15. Dezember 2009, 10:57
von trave
Hallo,

wie kann kann ich die Bildschirmausgabe von ./configure in eine Datei umleiten?

"./configure --help > abc.txt" funktioniert.

"./configure > abcd.txt" bekommt eine Fehlermeldung vom Compiler.

Ich versuche Python 2.6.4 auf einen Lenny V-Server zuinstallieren.
Es scheint auch alles installiert zu werden, aber ich kann Python nicht starten.

Danke im Voraus

Trave

Verfasst: Dienstag 15. Dezember 2009, 11:09
von jbs
Wie sieht denn die Fehlermeldung aus?

Verfasst: Dienstag 15. Dezember 2009, 11:24
von trave
Hallo jbs,

jetzt wo ich Python instaliert habe kommt folgende Meldung.

./configure > /source/sss.txt

configure: WARNING:

By default, distutils will build C++ extension modules with "g++".
If this is not intended, then set CXX on the configure command line.


Bevor ich Python instaliert habe kam eine andere Fehlermeldung. Leider hab ich die nicht gespeichert.

trave

Verfasst: Dienstag 15. Dezember 2009, 12:36
von Rebecca
Es sollte auch klappen, Python 2.6 aus dem Experimental-Zweig zu installieren, das ist einfacher als selbst zu compilieren. (Unter Squeeze zumindest ist das kein Problem, mit Lenny hab ich's noch nicht probiert).

Die Warnung sieht erstmal nicht schlimm aus und sollte nicht die Ursache sein, dass du Python nicht starten kannst. Was passiert denn, wenn du Python starten willst?

Verfasst: Mittwoch 16. Dezember 2009, 10:51
von sma
trave, die Warnung wird auf stderr ausgegeben, du lenkst mit ">" jedoch nur stdout um. Willst du auch stderr umlenken, lautet die Zeile so:

Code: Alles auswählen

./configure >foo 2>&1
was bedeutet, dass Kanal 2 (stderr) dahin gehen soll, wohin Kanal 1 (stdout) geht.

Stefan

Verfasst: Samstag 19. Dezember 2009, 16:52
von trave
Hallo sma,

genau das habe ich gesucht. Aber auch gleich die nächste Frage:

"was bedeutet, dass Kanal 2 (stderr) dahin gehen soll, wohin Kanal 1 (stdout) geht."

Da mir als unbedarfter Neueinsteiger einiges an Standartwissen fehlt und ich immer nicht weiß, nach was ich goole'n soll, was ist empfehlenswert auf Deutsch zulesen? Leider stehe ich mit Fremdsprachen auf Kriegsfuß.

Den die Standard-Datenströme sind ja wie ich jetzt gelesen habe eher Unix-Wissen.

Für Tips um mein stark eingeschränktes Informatikgrundwissen zu erweitern bin ich dankbar. Was sollte man lesen in den Bereichen Python, Unix und Linux um eine solide Ausgangsbasis zuschaffen?

trave

Verfasst: Samstag 19. Dezember 2009, 17:15
von BlackJack
@trave: Programme haben in der Regel drei Standardkanäle bzw -dateien. `stdin`, `stdout`, und `stderr`. Über den ersten kommen die Eingaben rein, und über die beiden anderen kann ein Programm Ausgaben tätigen. `stdout` ist für normale Ausgaben, also zum Beispiel Ergebnisse. Und `stderr` ist für Fehlermeldungen oder auch Informationen für den Benutzer, die nicht zum Ergebnis gehören. Die beiden Ausgaben landen normalerweise beide in der Shell. Wenn man die Ausgabe mit ``>`` in eine Datei umleitet, betrifft das nur `stdout`. Zum einen, damit der Benutzer weiterhin Fehlermeldungen sieht, zum anderen, damit die Fehlermeldungen und andere Informationen nicht in der Ergebnisdatei landen, wo sie eventuell sogar schaden würden, wenn man das Ergebnis mit anderen Programmen weiterverarbeiten möchte.

Die Kanäle sind in Python übrigens als Dateiobjekte im `sys`-Modul ansprechbar. ``print`` benutzt `sys.stdout` zur Ausgabe.

Dateien umleiten in Unix

Verfasst: Donnerstag 24. Dezember 2009, 19:24
von 3ff
Dateien leitet man unter Unix folgendermassen um
Kommando 2&> Datei.name.text
Ich weiss (noch) nicht, wie man das in Python hinbekommt.
Gruesse Fritz 8) 8)

dateien umleiten in Unix

Verfasst: Donnerstag 24. Dezember 2009, 19:50
von 3ff
Panne.
Entschuldigung
Es muss so sein
Kommando >Datei 2>&1
Wie ichs oben geschrieben hab, hats bei mir nicht funkioniert.
Wenn ich mir ein Directory anschauen will
ls -l > ls.text 2>&1
Gruesse Fritz

Verfasst: Freitag 25. Dezember 2009, 00:40
von cofi
Um das mal zu entwirren:
Wo haengt das? Und was willst du gerade machen?
Wenn du immernoch von `/.configure` redest, hat das nichts mit Python sondern allein mit deiner Shell zu tun.

Redest du doch von der Anwendung innerhalb von Python, kannst du die Zeile nicht 1:1 verwenden, sondern musst das an `subprocess` anpassen.