Python cryptographyパッケージをSolaris 10システムにインストールしようとしています。ホームディレクトリにPython 2.7とlibffiをソースからビルドしました。私はlibffiへのパスを指定することでcffiを構築することができます。Solaris 10のソースからPython暗号化パッケージをインストールする
$ 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
私は/export/home/ef/libffi/lib
にLD_LIBRARY_PATH
を設定しています。
私はcffiをコンパイルするときに次の警告に気付きました - それは関連する可能性がありますか?
c/call_python.c:219: warning: implicit declaration of function `__sync_synchronize'
どうすれば解決できますか?関連するOSパッケージ(e.g.sudo apt-get install build-essential libssl-dev libffi-dev python-dev
)をインストールすることで、私がオンラインで見つけた同様の問題はすべて修正されました。 OpenCSWはオプションではありません。
ご返信ありがとうございます。私はgccバージョン3.4.3を使用しています。私はトランクからcffiをコンパイルしました(cffi-cffi-3234afed406d.tar.gz)。しかし、私はまだ同じ致命的な:暗号化を構築しようとすると再配置エラーが発生しています。 – ef99
それは確かに非常に古いgccです。 '' __sync_synchronize() ''がどのバージョンに追加されたのかを知ったらバージョンチェックを追加するべきです。その間、あなたは '' call_python.c''ファイルを180行編集し、 '' #if defined(__ GNUC __) ''を '' #if 0''に置き換えることができます(警告を受け取ります。組み込みモードでマルチスレッド初期化を行っていない) –
これは完璧に働いてくれてありがとう。 gccのアップグレードよりもずっと簡単です! :) – ef99