在Solaris 10上从源安装Python加密包

时间:2017-01-11 01:53:37

标签: python-2.7 build solaris-10 python-cffi python-cryptography

我正在尝试在Solaris 10系统上安装Python cryptography包。我在我的主目录中从源代码构建了Python 2.7和libffi。我可以通过指定libffi的路径来构建cffi:

$ 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'

我该如何解决这个问题?我在网上找到的所有类似问题都是通过安装相关的操作系统软件包(e.g. sudo apt-get install build-essential libssl-dev libffi-dev python-dev)来解决的。 OpenCSW不是一种选择。

1 个答案:

答案 0 :(得分:0)

created_at是一个内置函数,但只有gcc和clang支持。我想你正在使用不同的编译器或非常旧版本的gcc或clang。你能尝试从cffi trunk安装吗?我们最近添加了对其他一些编译器的支持(尚未发布,将在版本1.10中)。

https://bitbucket.org/cffi/cffi/downloads?tab=branches,下载"默认"分支(例如,点击__sync_synchronize)。