Python 2.6.1, пакет pycrypto 2.3 pypi: “Поврежденный Канал” во время сборки

Я пытаюсь установить Матрицу, которая требует pycrypto. Во время сборки для pycrypto я всегда получаю "Поврежденный Канал" ошибка. Я не знаю, где начать решать проблему.

Я выполняю Snow Leopard Mac OS X 10.6.6, все установленные обновления; Python 2.6.1; GCC 4.2; XCode 4 (в случае, если это обновило GCC),

Точная ошибка:

$ sudo python setup.py build
Password:
running build
running build_py
running build_ext
warning: GMP library not found; Not building Crypto.PublicKey._fastmath.
building 'Crypto.Hash.MD2' extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -fwrapv -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch ppc -arch x86_64 -pipe -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c src/MD2.c -o build/temp.macosx-10.6-universal-2.6/src/MD2.o
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/as: assembler (/usr/bin/../libexec/gcc/darwin/ppc/as or /usr/bin/../local/libexec/gcc/darwin/ppc/as) for architecture ppc not installed
Installed assemblers are:
/usr/bin/../libexec/gcc/darwin/x86_64/as for architecture x86_64
/usr/bin/../libexec/gcc/darwin/i386/as for architecture i386
src/MD2.c:134: fatal error: error writing to -: Broken pipe
compilation terminated.
lipo: can't open input file: /var/tmp//ccfADoXD.out (No such file or directory)
error: command 'gcc-4.2' failed with exit status 1
11
задан 06.08.2011, 01:39

3 ответа

Это - лучшее решение, которое работает на все построение расширения Python C на ВСЕХ версиях Python на Mac OS X 10,6 XCode 4 использования.

ARCHFLAGS="-arch i386 -arch x86_64" python setup.py build

Таким образом, Вы не должны слоняться без дела с setup.py файлы для всех расширений C Вы пытаетесь создать.

15
ответ дан 07.12.2019, 12:18

Поскольку Tony указал, что проблемой является связанная PPC. XCode 4 удалил ассемблер PPC. Инструменты установки пытаются установить для всей архитектуры по умолчанию, i386, PPC и x86_64.

Я добавил этот код к своему pycrypto-2.3 setup.py в строке 122 и после. Это ищет параметры компилятора набора 'PPC' и удаляет ее и predecessing '-дуга' инструкция'.

    # removing PPC flag from compiler options
    index = self.compiler.compiler_so.index('ppc')

    del self.compiler.compiler_so[index]
    del self.compiler.compiler_so[index-1]

Выполнение обычного sudo Python setup.py установка на измененном файле установило pycrypto без проблемы.

Это - ужасное обходное решение, но должно работать на данный момент, пока setuptools не может лучше обнаружить, что 10.6 с XCode 4 больше не имеет PPC как применимую целевую архитектуру. Предложения для решения этой проблемы по всем приняты.

2
ответ дан 07.12.2019, 12:18

Другая опция состоит в том, чтобы скопировать назад ассемблеры PPC с предыдущей версии XCode. Только необходимо скопировать папки PPC и ppc64 от местоположения /usr/libexec/gcc/darwin/

Я распознаю, что это - также ужасное обходное решение, но оно действительно работало на меня!

1
ответ дан 07.12.2019, 12:18

Теги

Похожие вопросы