Wie behebt man den _decimal-Modulkompilierungsfehler bei der Installation von Python 3.3.2 in CentOS 5.9 (x86_64)?

1862
Nicolas G

Beim Kompilieren von Python 3.3.2 in CentOS 5.9 x86_64 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 wenig Informationen gefunden. Es hat den Anschein, dass das Problem mit einer alten Version von gcc zusammenhängt und durch ein Upgrade der Linux-Distribution gelöst werden kann. Ich muss jedoch bei CentOS 5.9 bleiben und verwende bereits die neueste Version von gcc, die für CentOS 5.9 (gcc Version 4.1.2) verfügbar ist.

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

Danke für deine Hilfe.

7

2 Antworten auf die Frage

9
Nicolas G

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 aus, aber ich habe versucht, diese 3 zu installieren):

yum install gcc44.x86_64 yum installiere gcc44-c ++. x86_64 yum install 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 installieren 

Nach dem ersten "make" sollte die Fehlermeldung nicht angezeigt werden, die sich auf das Modul "_decimal" bezieht. "Make test" sollte erfolgreich abgeschlossen werden.

4.- Setzen Sie die CC-Umgebungsvariable zurück:

unset CC 

Und das ist es.

1
niquis7

Selbes Problem hier. Kleine Änderung an der Lösung, die ich verwendet habe

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

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