Я пытаюсь установить PyCrypto для Python 3 на Solaris. Независимо от того, делаю ли я это с помощью « 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
(или какой-то другой 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, чтобы избавиться от этой ошибочной зависимости?
источник
distutils
? Также смотрите: stackoverflow.com/questions/5967065/…setup.py
для начала.sudo
, не так ли?Ответы:
/opt/csw/bin/gcc-4.8
путь указывает для OpenCSW, который предустановлен с дистрибутивом Oracle (либо удален 4.8, либо имеется другая версия).Попробуйте настройки
CC
иCXX
переменные окружения внутриsetup.py
сos.environ
:(4.7 - это моя версия
g++
, установите то, что у вас есть/bin
).источник
Может быть, создать мягкую ссылку в
/opt/csw/bin/gcc-4.8
этом месте на вашcc
илиgcc
компилятор?источник
gcc
командной строки разные. Скрипт, который отбрасывает специфичные для gcc параметры и затем вызывает доступный компилятор, может работать.maybe?
, а не показывает, как создать такую ссылку и как она может помочь. Я отрекаюсь от своего комментария, если я единственный, кто так чувствует.