我正在尝试在Solaris10系统上安装Python cryptography包。我已经在我的home目录中通过源代码构建了Python2.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不是一个选项。
发布于 2017-01-11 18:10:08
__sync_synchronize是一个内置函数,但只有gcc和clang支持。我猜您使用的是不同的编译器,或者是非常老的版本的gcc或clang。您可以尝试从cffi主干安装吗?我们最近添加了对其他一些编译器的支持(尚未发布,将在版本1.10中发布)。
https://bitbucket.org/cffi/cffi/downloads?tab=branches,下载"default“分支(例如,单击gz)。
https://stackoverflow.com/questions/41581500
复制相似问题