Estou tentando instalar o PyCrypto para Python 3 no Solaris. Seja através de " python3 setup.py install
" ou " pip3 install pycrypto
", o mesmo problema ocorre: é feita uma chamada 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, não sei nada sobre a história da máquina em que estou. É possível que /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 é chamado /opt/csw/bin/gcc-4.8.
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" foi salvo? Como / onde o sistema obtém as informações para pensar que precisa chamar esse compilador?
A única coisa que consigo pensar é que o Python3 foi originalmente compilado com /opt/csw/bin/gcc-4.8, e o Python3 o gravou permanentemente em algum lugar em que /opt/csw/bin/gcc-4.8 é o compilador a ser usado para compilando coisas. Se for esse o caso, seria melhor remover e reinstalar o Python3 para me livrar dessa dependência errônea?
fonte
distutils
? Veja também: stackoverflow.com/questions/5967065/…setup.py
para começar.sudo
, não é?Respostas:
/opt/csw/bin/gcc-4.8
caminho indica para o OpenCSW que vem pré-instalado com a distribuição Oracle (o 4.8 é excluído ou existe outra versão).Tente definir as variáveis de ambiente
CC
eCXX
de dentrosetup.py
comos.environ
:(4.7 é a minha versão do
g++
, defina-o como você tem no seu/bin
).fonte
Criar um soft link em
/opt/csw/bin/gcc-4.8
que aponta para o seucc
ougcc
compilador, talvez?fonte
gcc
opções da linha de comando são diferentes. Um script que joga fora as opções específicas do gcc e depois chama o compilador disponível pode funcionar.maybe?
, do que mostrando como criar um link e como isso pode ajudar. Retiro meu comentário se sou o único que se sente assim.