0

Solaris 10 システムにPython暗号化パッケージをインストールしようとしています。ホームディレクトリのソースから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'

どうすればこれを解決できますか? 私がオンラインで見つけた同様の問題はすべて、関連する OS パッケージ ( sudo apt-get install build-essential libssl-dev libffi-dev python-dev) をインストールすることで修正されました。OpenCSW はオプションではありません。

4

1 に答える 1

0

__sync_synchronize組み込み関数ですが、gcc と clang でのみサポートされています。別のコンパイラを使用しているか、非常に古いバージョンの gcc または clang を使用していると思います。cffi トランクからインストールできますか? 最近、他のいくつかのコンパイラのサポートを追加しました (まだリリースされていません。バージョン 1.10 になります)。

https://bitbucket.org/cffi/cffi/downloads?tab=branchesで、「既定の」ブランチをダウンロードします (たとえば、 をクリックしgzます)。

于 2017-01-11T10:10:08.133 に答える