为什么这个 Python 包试图使用一个不存在的 gcc?

Cpt*_*rkt 8 gcc software-installation

我正在尝试在 Solaris 上为 Python 3 安装 PyCrypto。无论是通过“ 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
Run Code Online (Sandbox Code Playgroud)

现在,我对我所使用的机器的历史一无所知。/opt/csw/bin/gcc-4.8 可能在过去的某个时刻存在。但它不再是了。 export CC=/usr/bin/gcc (或其他一些 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被删除或有其他版本)。

尝试从内部设置CCCXX环境变量:setup.pyos.environ

os.environ["CC"] = "g++-4.7" os.environ["CXX"] = "g++-4.7"
Run Code Online (Sandbox Code Playgroud)

(4.7 是我的版本g++,将其设置为您的版本/bin)。