Por que esse pacote do Python está tentando usar um gcc inexistente?

8

Estou tentando instalar o PyCrypto for Python 3 no Solaris. Quer eu faça isso através de " python3 setup.py install " ou " pip3 install pycrypto ", eu me deparo com o mesmo problema: uma chamada é feita para um gcc que não existe:

python3 setup.py install
[...]
/opt/csw/bin/gcc-4.8 -pipe -m32 -march=pentiumpro -Wno-unused-result -fwrapv -Wall -Wstrict-prototypes -pipe -m32 -march=pentiumpro -I/usr/include/gmp -fPIC -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/usr/include/ -I/opt/csw/include/python3.3m -c src/_fastmath.c -o build/temp.solaris-2.11-i86pc.32bit-3.3/src/_fastmath.o
unable to execute /opt/csw/bin/gcc-4.8: No such file or directory

Agora, eu não sei nada sobre a história da máquina em que estou. É possível que o /opt/csw/bin/gcc-4.8 existisse em algum momento no passado. Mas isso não acontece mais. export CC=/usr/bin/gcc (ou algum outro gcc) NÃO corrige o problema --- sem falha /opt/csw/bin/gcc-4.8 é chamado.

Estou menos interessado em instalar o PyCrypto e mais interessado em entender POR QUE essa chamada falsa é feita para começar. Onde o valor "/opt/csw/bin/gcc-4.8" é salvo? Como / onde o sistema até obtém as informações para pensar que ele precisa chamar esse compilador?

A única coisa em que consigo pensar é que o Python3 foi originalmente compilado com o /opt/csw/bin/gcc-4.8, e o Python3 o gravou permanentemente em algum lugar onde o /opt/csw/bin/gcc-4.8 é o compilador. para usar para compilar coisas. Se este for o caso, seria melhor remover e reinstalar o Python3 para me livrar dessa dependência errônea?

    
por CptSupermrkt 19.11.2014 / 17:20

2 respostas

1

/opt/csw/bin/gcc-4.8 path indica para o OpenCSW que vem pré-instalado com o Oracle distro (4.8 é excluído ou há outra versão).

Tente definir as variáveis de ambiente CC e CXX de dentro de setup.py com os.environ :

os.environ["CC"] = "g++-4.7" os.environ["CXX"] = "g++-4.7"

(4,7 é a minha versão de g++ , defina como você tem em /bin ).

    
por 21.11.2014 / 10:25
0

Crie um link em /opt/csw/bin/gcc-4.8 que aponte para o seu compilador cc ou gcc , talvez?

    
por 12.02.2015 / 19:38