Erro ao compilar o Python 2.7.3 no CentOS5

2

Estou tentando instalar o Python 2.7.3 na minha máquina CentOS 5.50. Baixar, extrair, configurar (com --prefix=/usr/local ) estão bem. É o make que gera este erro:

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

Eu tenho vasculhado a web por alguns dias agora em uma tentativa de auto-resolver este, mas eu estou vazio. Uma sugestão que me deparei foi sobre "Developer Tools" sendo instalado no sistema, que eu acredito que estão instalados corretamente, mas eu não estou 100% de certeza.

Se alguém tiver alguma informação sobre esse problema, agradeço a ajuda.

Obrigado.

ATUALIZAÇÃO:

Eu compilei e instalei o Python 3.3 sem problemas. A questão definitivamente está no SVN. Embora os pacotes que estou usando sejam compatíveis com o Python 3.3, ainda gostaria de ter o 2.7.3, então ainda estou procurando ajuda.

    
por Honus Wagner 11.03.2013 / 13:49

2 respostas

2

Você deve cd para o diretório de módulos e olhar para a saída de

svnversion .

no meu sistema, com minha versão svn (1.6.17) ele apenas diz exported para stdout. Essa saída configura SVNVERSION como se estivesse com #define no código C e realmente usado para definir uma matriz char. Se houver lixo lá, isso causará o erro.

static const char svnversion[] = SVNVERSION;

Eu sugiro que você apenas renomeie o comando svnversion temporariamente enquanto compila. Ou, se isso não funcionar, edite a função _PY_svnversion in Modules/getbuildinfo.c para:

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

Seria interessante ver o que o svnversion realmente retorna ao seu sistema.

    
por 11.03.2013 / 14:39
0

Eu renomeiei o svnversion (como sugerido) depois de encontrá-lo usando 'which svnversion' e então rodei 'make' novamente no Python3.0 e ele funcionou.

    
por 07.04.2015 / 19:57