我正在尝试在 Solaris 上安装 PyCrypto for Python 3。无论我是通过“ python3 setup.py install
”还是“ pip3 install pycrypto
”,我都会遇到同样的问题:调用了一个不存在的 gcc:
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
现在,我对我所使用的机器的历史一无所知。 /opt/csw/bin/gcc-4.8 可能在过去的某个时刻存在。但现在不再这样了。 export CC=/usr/bin/gcc
(或其他一些海湾合作委员会)不能解决问题--- 一定会调用 /opt/csw/bin/gcc-4.8 。
我对安装 PyCrypto 不太感兴趣,而对理解更感兴趣为什么这个假电话是一开始就发出的。值“/opt/csw/bin/gcc-4.8”保存在哪里?系统如何/从哪里获得认为需要调用该编译器的信息?
我唯一能想到的是Python3最初是用/opt/csw/bin/gcc-4.8编译的,并且Python3将其永久烧录在/opt/csw/bin/gcc-4.8是编译器的地方编译东西。如果是这种情况,我最好删除并重新安装 Python3 以摆脱这种错误的依赖关系吗?
答案1
/opt/csw/bin/gcc-4.8
路径表示Oracle发行版预装的OpenCSW(4.8被删除或有其他版本)。
尝试从内部设置CC
和环境变量:CXX
setup.py
os.environ
os.environ["CC"] = "g++-4.7" os.environ["CXX"] = "g++-4.7"
(4.7 是我的版本g++
,将其设置为您的版本/bin
)。
答案2
/opt/csw/bin/gcc-4.8
也许创建一个指向您的cc
或编译器的软链接gcc
?