Wie behebt man den Fehler beim Kompilieren des _decimal-Moduls bei der Installation von Python 3.3.2 unter CentOS 5.9 (x86_64)?

7

Beim Versuch, Python 3.3.2 unter CentOS 5.9 x86_64 zu kompilieren, wird die folgende Fehlermeldung angezeigt:

Fehler beim Erstellen dieser Module:
_Dezimal

Ich erhalte diesen Fehler beim Ausführen des Befehls "make" (nach dem Befehl ./configure).

Bei einer Google-Suche habe ich nur wenige Informationen gefunden. Es scheint, dass das Problem mit einer alten Version von gcc zusammenhängt und durch ein Upgrade der Linux-Distribution behoben werden kann. Ich muss mich jedoch an CentOS 5.9 halten und verwende bereits die neueste Version von gcc, die für CentOS 5.9 verfügbar ist (gcc Version 4.1.2).

Hat jemand Python 3.3.2 in CentOS 5.9 installieren können?

Danke für deine Hilfe.

Nicolas G
quelle

Antworten:

9

Ok, ich habe einen Weg gefunden.

Sie können eine neuere Version von gcc (4.4.7) zusammen mit der Standardversion von CentOS 5.9 installieren, indem Sie nur die offiziellen Pakete von CentOS 5.9 verwenden und die Installation von gcc 4.1.2 nicht überschreiben.

Hier sind die Schritte:

1.- Installieren Sie mit yum die folgenden Pakete (möglicherweise kommen Sie mit weniger Paketen zurecht, aber ich habe versucht, diese 3 zu installieren):

yum installiere gcc44.x86_64
yum installiere gcc44-c ++. x86_64
yum installiere libstdc ++ - devel.x86_64

2.- Setzen Sie die CC-Umgebungsvariable so, dass sie auf den gcc44-Compiler zeigt:

Exportieren Sie CC = / usr / bin / gcc44

3. Führen Sie die Befehle wie in der README-Datei des Python 3.3.2-Tarballs angegeben aus:

./konfigurieren
machen
Test machen
sudo make install

Jetzt sollte nach dem ersten "make" die Fehlermeldung zum Modul "_decimal" nicht mehr angezeigt werden. Und "make test" sollte erfolgreich abgeschlossen werden.

4.- Deaktivieren Sie die CC-Umgebungsvariable:

nicht gesetztes CC

Und das ist es.

Nicolas G
quelle
1

Selbes Problem hier. Kleinere Änderungen an der von mir verwendeten Lösung

./configure --with-gcc=/usr/bin/gcc44

Möglichkeit. Dies wird in der Hilfe des configure-Skripts nicht explizit erwähnt, funktioniert aber.

niquis7
quelle