Подтвердить что ты не робот

Попытка установить pycrypto на Mac OSX mavericks

В настоящее время я пытаюсь установить pycrypto, и когда я выполняю сборку python setup.py, я получаю следующую ошибку:

cc -bundle -undefined dynamic_lookup -arch x86_64 -arch i386 -Wl,-F. build/temp.macosx-10.9-intel-2.7/src/_fastmath.o -lgmp -o build/lib.macosx-10.9-intel-2.7/Crypto/PublicKey/_fastmath.so
ld: illegal text-relocation to '___gmp_binvert_limb_table' in /usr/local/lib/libgmp.a(mp_minv_tab.o) from '___gmpn_divexact_1' in /usr/local/lib/libgmp.a(dive_1.o) for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'cc' failed with exit status 1

Я уже пытался переустановить инструменты командной строки и удалить старые экземпляры Xcode.

Любая помощь будет очень благодарна

4b9b3361

Ответ 1

Это сработало для меня. (Если вы работаете на Xcode 5.1)

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pycrypto

Ответ 2

Это сделало это для меня:

  sudo port install gmp
  sudo ln -s  /opt/local/lib/libgmp.dylib  /usr/lib/libgmp.dylib  
  ARCHFLAGS=-Wno-error CFLAGS=-I/opt/local/include sudo -E pip install pycrypto

Ответ 3

Я столкнулся с той же проблемой и смог исправить ее, установив gmp:

brew install gmp

Затем я закодировал свой каталог сборки и начал с установки pycrypto, и он преуспел.

Это также фиксирует предупреждающее сообщение во время настройки pycrypto script:

warning: GMP or MPIR library not found; Not building Crypto.PublickKey._fastmath

См. связанный вопрос.

Ответ 4

В Йосемите:

CC=clang sudo -E pip install pycrypto

Ответ 5

Недавно я заметил, что мне понадобилось brew для установки gmp, чтобы снова установить pycrypto ppupup после обновления OSX 10.9 и Xcode 5. Но потом сборка gmp начала сбой при незаконном перемещении текста. Кажется, известная проблема 12946 заставляет компилятор скомпилировать независимый от позиции код:

cc -bundle - undefined dynamic_lookup -Wl, -F. -Wno-error = unused-command-line-argument-hard-error-in-future -Wno-error = unused-command-line-argument-hard-error-in-future build/temp.macosx-10.9-intel- 2.7/src/_fastmath.o -lgmp -o строить /lib.macosx-10,9-Intel-2,7/Crypto/PublicKey/_fastmath.so

ld: незаконное перемещение текста в '___gmp_binvert_limb_table' в /usr/local/lib/libgmp.a(mp_minv_tab.o) из '___gmpn_divexact_1' в /usr/local/lib/libgmp.a(dive_1.o) для архитектуры x86_64

clang: ошибка: сработала команда компоновщика с кодом выхода 1 (используйте -v, чтобы увидеть Вызов)

ошибка: команда 'cc' не удалась с статусом выхода 1

Как и в ответе radiofrequency, я символизировал общую библиотеку gmp в каталоге system/usr/lib как обходной путь:

sudo ln -s /usr/local/Cellar/gmp/5.1.3/lib/libgmp.dylib /usr/lib/libgmp.dylib

Разработчик gmp должен добавить --with-pic.

Боковая точка: количество предупреждений, создающих pycrypto, не обеспечивает комфорта.

Ответ 6

на Эль Капитан Я только что сделал это...

sudo easy_install livestreamer
sudo easy_install PyCrypto

et voila... Теперь я могу сохранять потоки на своем жестком диске.

Ответ 7

Для тех из вас, кто также хочет установить pycrypto, а также пакет криптографии, это команда, которая закончила работать для меня:

env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography

Ответ 8

Для установки PyCrypto используйте MacPorts и следующую команду. Я тестировал его на новейшей версии Mac OS X - Yosemite:

Python Version 2.7:

sudo port install py27-crypto

Python Version 3.4:

sudo port install py34-crypto

Ответ 9

Это единственное, что сработало для меня на Mac/El Capitan:

sudo easy_install -U livestreamer

Ответ 10

Установить homebrew (одна строка для установки внизу страницы), затем попробуйте:

$ sudo pip install pycrypto

Ответ 11

Если я не ошибаюсь, pip и homebrew являются менеджерами пакетов, но homebrew построен на ruby, а pip построен на python.

$ sudo pip install pycrypto

Эта команда, на которую вы ссылались, нуждается в установке pip, а не homebrew.

Этот способ получить pip

Ответ 12

Я новый поклонник python; Я тоже испытал эту проблему; и это досадовало мне. Ни одно из опубликованных решений не работало для меня, поэтому я временно заархивировал libgmp.a и libgmp.la, а pip установил Crypto без ошибок. Это приемлемый подход? Я не понимаю, почему это сработало...