Установка пакета криптографии Python из исходного кода на Solaris 10
Я пытаюсь установить пакет криптографии Python в системе Solaris 10. Я собрал Python 2.7 и libffi из исходного кода в моем домашнем каталоге. Я могу собрать cffi, указав путь к libffi:
$ python setup.py build_ext --include-dirs ~/libffi/lib/libffi-3.2.1/include --library-dirs ~/libffi/lib
Однако попытки построить криптографию терпят неудачу с этой ошибкой:
ImportError: ld.so.1: python: fatal: relocation error: file /export/home/ef/python/lib/python2.7/site-packages/cffi-1.9.1-py2.7-solaris-2.10-sun4v.32bit.egg/_cffi_backend.so: symbol __sync_synchronize: referenced symbol not found
Я поставил LD_LIBRARY_PATH
в /export/home/ef/libffi/lib
,
Я замечаю следующее предупреждение при компиляции cffi - может ли это быть связано?
c/call_python.c:219: warning: implicit declaration of function `__sync_synchronize'
Как я могу решить это? Все похожие проблемы, которые я обнаружил в сети, были исправлены путем установки соответствующих пакетов ОС ( например,sudo apt-get install build-essential libssl-dev libffi-dev python-dev
). OpenCSW не вариант.
1 ответ
__sync_synchronize
это встроенная функция, но она поддерживается только gcc и clang. Я предполагаю, что вы используете другой компилятор или очень старую версию gcc или clang. Можете попробовать установить с багажника cffi? Недавно мы добавили поддержку некоторых других компиляторов (пока не выпущено, будет в версии 1.10).
https://bitbucket.org/cffi/cffi/downloads?tab=branches, загрузите ветку "по умолчанию" (например, нажав gz
).