Установка пакета криптографии 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).

Другие вопросы по тегам