Wie kann man die entsprechenden RPM-Paketnamen aus dieser Python-Build-Skriptausgabe ermitteln?

980
Anthony Kong

Ich versuche, Python 2.6.8 in der Redhat 5-Linux-Box zu kompilieren.

Am Ende der Zusammenstellung erhielt ich diese Nachrichten;

Failed to find the necessary bits to build these modules: _bsddb _curses _curses_panel _hashlib _sqlite3 _ssl _tkinter bsddb185 bz2 dbm dl gdbm imageop readline sunaudiodev 

Basierend auf den oben genannten Namen habe ich yum searcheinige RPM-Pakete gefunden, um die Abhängigkeiten zu erfüllen

Flüche

ncurses-5.5-24.20060715.x86_64 ncurses-devel-5.5-24.20060715.i386

gdbm gdbm-1.8.0-26.2.1.x86_64

readline readline-5.1-3.el5.x86_64

b2 bzip2-1.0.3-4.el5_2.x86_64 bzip2-devel-1.0.3-4.el5_2.x86_64

Mit dem Rest kann ich kein Glück haben.

Gibt es eine Technik, um die Abhängigkeiten zu entdecken? Gibt es eine Webressource, um die RPM-Pakete nachzuschlagen?

0
Kann ich fragen, warum Sie versuchen, eine alte Version von Python zu erstellen? Die aktuellen Versionen sind 2.7.5 und 3.3.2 ... MattDMo vor 10 Jahren 0
Ich arbeite in einer Unternehmensumgebung und 2.6.x ist die 'offizielle' Version, die wir verwenden Anthony Kong vor 10 Jahren 0
Das tut mir leid... MattDMo vor 10 Jahren 0

2 Antworten auf die Frage

1
stderr
  1. Verwenden Sie den deplistBefehl, um Paketabhängigkeiten aufzulisten:

yum deplist <package>

2. Oder verwenden Sie das repoqueryTool aus dem yum-utilsPaket:

repoquery --requires <package>

1
MattDMo

RPMfind ist die beste Wahl für RPMs. Stellen Sie sicher, dass Sie sowohl die -develVersionen als auch das Hauptpaket erhalten, da der Compiler nach den Headern und / oder Bibliotheken sucht, die in diesen Paketen enthalten sind. Sie haben RPMs für Python 2.6.8 auf i586- und x86_64- Plattformen, die ursprünglich für OpenSUSE erstellt wurden, aber möglicherweise für Sie nützlich sind.

Soweit Python betroffen ist, es sei denn, Sie für 2.6 einen besonderen Bedarf haben, würde ich sehr empfehlen die meisten up-to-date mit, vollständig abhör gepatcht und Feature-gefüllten Versionen. 2.7.5 ist die aktuelle Version der Maintenance 2.x-Serie, und 3.3.2 ist die neueste Version von Python 3. Informationen zu Modulen, die nicht erstellt werden konnten, finden Sie im Python-2.7.5/ModulesVerzeichnis (oder in der Version, die Sie gerade erstellen ). und suchen Sie nach .cDateien, die sich auf den Modulnamen beziehen. Zum Beispiel habe Python-3.3.2/Modulesich in meinem Verzeichnis, _tkinter.cdas ganz oben sagt: "Nur Tcl / Tk 8.3.1 und höher werden unterstützt". Jetzt weiß ich, nach welchen Paketnamen und -versionen gesucht werden soll.

Viel Glück!