J'essaie d'installer PyCrypto pour Python 3 sur Solaris. Que je le fasse via " python3 setup.py install
" ou " pip3 install pycrypto
", je rencontre le même problème: un appel est fait vers un gcc qui n'existe pas:
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
Maintenant, je ne sais rien de l'histoire de la machine sur laquelle je suis. Il est possible que /opt/csw/bin/gcc-4.8 ait existé à un moment donné dans le passé. Mais ce n'est plus le cas. export CC=/usr/bin/gcc
(ou un autre gcc) ne résout PAS le problème --- sans échec /opt/csw/bin/gcc-4.8 est appelé.
Je suis moins intéressé à installer PyCrypto et plus intéressé à comprendre POURQUOI cet appel bidon est fait pour commencer. Où est enregistrée la valeur "/opt/csw/bin/gcc-4.8"? Comment / où le système obtient-il même les informations pour penser qu'il doit appeler ce compilateur?
La seule chose à laquelle je peux penser est que Python3 a été initialement compilé avec /opt/csw/bin/gcc-4.8, et Python3 l'a en permanence gravé quelque part dans lequel /opt/csw/bin/gcc-4.8 est le compilateur à utiliser pour compiler des trucs. Si tel est le cas, est-ce que je ferais mieux de supprimer et de réinstaller Python3 pour se débarrasser de cette dépendance erronée?
la source
distutils
? Voir aussi: stackoverflow.com/questions/5967065/…setup.py
pour commencer.sudo
, n'est -ce pas?Réponses:
/opt/csw/bin/gcc-4.8
chemin indique pour OpenCSW qui est pré-installé avec la distribution Oracle (soit 4.8 est supprimé ou il existe une autre version).Essayez de définir les variables d'environnement
CC
etCXX
de l'intérieursetup.py
avecos.environ
:(4.7 est ma version de
g++
, réglez-la sur ce que vous avez dans votre/bin
).la source
Créer un lien logiciel à
/opt/csw/bin/gcc-4.8
ce point vers votrecc
ou votregcc
compilateur, peut-être?la source
gcc
options de ligne de commande sont différentes. Un script qui jette les options spécifiques à gcc puis appelle le compilateur disponible peut fonctionner.maybe?
, plutôt que de montrer comment créer un tel lien et comment cela pourrait aider. Je retire mon commentaire si je suis le seul à ressentir cela.