Fehler beim Kompilieren von Python 2.7.3 unter CentOS5

873
Honus Wagner

Ich versuche, Python 2.7.3 auf meinem CentOS 5.50-Rechner zu installieren. Herunterladen, Extrahieren, Konfigurieren (mit --prefix=/usr/local) ist in Ordnung. Es ist das make, das diesen Fehler wirft:

gcc -pthread -c -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -IInclude -I./Include -DPy_BUILD_CORE \ -DSVNVERSION="\"`LC_ALL=C svnversion .`\"" \ -DHGVERSION="\"`LC_ALL=C `\"" \ -DHGTAG="\"`LC_ALL=C `\"" \ -DHGBRANCH="\"`LC_ALL=C `\"" \ -o Modules/getbuildinfo.o ./Modules/getbuildinfo.c gcc.orig: directory": No such file or directory ./Modules/getbuildinfo.c: In function '_Py_svnversion': ./Modules/getbuildinfo.c:63: error: missing terminating " character ./Modules/getbuildinfo.c:63: error: expected expression before ';' token make-3.79.1-p7: *** [Modules/getbuildinfo.o] Error 1 

Ich habe das Internet seit einigen Tagen durchsucht, um dieses Problem zu lösen, aber ich bin leer. Ein Vorschlag, auf den ich gestoßen bin, betraf die Installation von "Developer Tools" auf dem System, von denen ich glaube, dass sie ordnungsgemäß installiert sind, aber ich bin nicht zu 100% sicher.

Wenn jemand Informationen zu diesem Problem hat, würde ich mich über die Hilfe freuen.

Vielen Dank.

AKTUALISIEREN:

Ich habe Python 3.3 ohne Probleme kompiliert und installiert. Das Problem liegt definitiv bei SVN. Obwohl die Pakete, die ich verwende, in Python 3.3 unterstützt werden, möchte ich immer noch 2.7.3 erhalten, also suche ich immer noch Unterstützung.

2
Nicht sicher, ob dies wichtig ist oder nicht, aber ** svn ** ist Version 1.7.4 auf dem Computer. Honus Wagner vor 11 Jahren 0
Ich denke, es ist wichtig ... Ich habe Python 2.7.3 vor einigen Monaten ohne Probleme erfolgreich auf einer anderen Box installiert, und es läuft ** svn ** Version 1.4.2. Honus Wagner vor 11 Jahren 0
Der Grund, warum 3.3 ohne Probleme kompiliert, ist, dass diese Quelle wahrscheinlich nie unter Subversion war und überhaupt nicht versucht, svnversion aufzurufen. Anthon vor 11 Jahren 0
http://stackoverflow.com/questions/27409037/python-2-7-6-error-when-building-from-source-gcc-orig-directory-no-such-file/27409535#27409535 Matthew Moisen vor 9 Jahren 0

2 Antworten auf die Frage

2
Anthon

You should cd to the Modules directory and look at the output of

svnversion . 

on my system, with my svn version (1.6.17) it just says exported to stdout. This output sets SVNVERSION as if it is with #define in the C code and actually used to define a char array. If there is garbage in there that will throw the error.

static const char svnversion[] = SVNVERSION; 

I suggest you just rename the svnversion command temporarily while you compile. Or if that doesn't work edit the function _PY_svnversion in Modules/getbuildinfo.c to:

const char * _Py_svnversion(void) { return "Unversioned directory"; } 

It would be interesting to see what svnversion actually gives back on your system.

Im Modul-Verzeichnis gibt `svnversion .` das` Unversioned-Verzeichnis` zurück. Honus Wagner vor 11 Jahren 0
Ich bin auch auf einem Unternehmenssystem und diese Ablagenpfade können nicht bearbeitet werden. Ich habe das noch einmal überprüft. Honus Wagner vor 11 Jahren 0
Ich habe die Alternative hinzugefügt, die Datei getbuildinfo.c zu bearbeiten. Ich gehe davon aus, dass Sie diese bearbeiten können, wenn Sie Ihren eigenen Python kompilieren können Anthon vor 11 Jahren 0
0
Pratik Burman

Ich habe svnversion (wie vorgeschlagen) umbenannt, nachdem ich es mit "which svnversion" gefunden hatte, und dann wieder "make" auf Python3.0 ausgeführt, und es hat funktioniert.