Ответ 1
Это сработало для меня. (Если вы работаете на Xcode 5.1)
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pycrypto
В настоящее время я пытаюсь установить 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.
Любая помощь будет очень благодарна
Это сработало для меня. (Если вы работаете на Xcode 5.1)
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pycrypto
Это сделало это для меня:
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
Я столкнулся с той же проблемой и смог исправить ее, установив gmp:
brew install gmp
Затем я закодировал свой каталог сборки и начал с установки pycrypto, и он преуспел.
Это также фиксирует предупреждающее сообщение во время настройки pycrypto script:
warning: GMP or MPIR library not found; Not building Crypto.PublickKey._fastmath
См. связанный вопрос.
В Йосемите:
CC=clang sudo -E pip install pycrypto
Недавно я заметил, что мне понадобилось 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, не обеспечивает комфорта.
на Эль Капитан Я только что сделал это...
sudo easy_install livestreamer
sudo easy_install PyCrypto
et voila... Теперь я могу сохранять потоки на своем жестком диске.
Для тех из вас, кто также хочет установить pycrypto, а также пакет криптографии, это команда, которая закончила работать для меня:
env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography
Для установки PyCrypto используйте MacPorts и следующую команду. Я тестировал его на новейшей версии Mac OS X - Yosemite:
Python Version 2.7:
sudo port install py27-crypto
Python Version 3.4:
sudo port install py34-crypto
Это единственное, что сработало для меня на Mac/El Capitan:
sudo easy_install -U livestreamer
Установить homebrew (одна строка для установки внизу страницы), затем попробуйте:
$ sudo pip install pycrypto
Если я не ошибаюсь, pip и homebrew являются менеджерами пакетов, но homebrew построен на ruby, а pip построен на python.
$ sudo pip install pycrypto
Эта команда, на которую вы ссылались, нуждается в установке pip, а не homebrew.
Я новый поклонник python; Я тоже испытал эту проблему; и это досадовало мне. Ни одно из опубликованных решений не работало для меня, поэтому я временно заархивировал libgmp.a
и libgmp.la
, а pip
установил Crypto
без ошибок. Это приемлемый подход? Я не понимаю, почему это сработало...