私は理想的な状況下でekhumoroの答えは完全に正しいと信じていますが、残念ながら私はそれほど幸運ではなく、バイナリパッケージはまだshibokenpythonモジュールの使用を許可していませんでした。手動でコンパイルする必要がありましたが、おそらくubuntu 12.04を使用しているためか、他の理由がわからないため、ホームページにあるデフォルトの手順では機能しなかったため、その部分も扱いにくくなりました。ターゲットはvirtualenvを使用した場合の使用法であったため、次の手順に従いました。
export PYSIDESANDBOXPATH=/path/to/my/virtualenv
export PATH=$PYSIDESANDBOXPATH/bin:$PATH
export PYTHONPATH=$PYSIDESANDBOXPATH/lib/python2.6/site-packages:$PYTHONPATH
export LD_LIBRARY_PATH=$PYSIDESANDBOXPATH/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$PYSIDESANDBOXPATH/lib/pkgconfig:$PKG_CONFIG_PATH
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$PYSIDESANDBOXPATH -DCMAKE_BUILD_TYPE=Debug -DENABLE_ICECC=0'
make
make install
sudo ldconfig
ここでの最初の問題は、コンパイルされてインストールが開始され、shiboken pythonモジュールをインストールしたい場合、これが発生したことです。
-- Installing: .../lib/python2.7/site-packages/shiboken.so
-- Removed runtime path from .../lib/python2.7/site-packages/shiboken.so
次に、このパラメーターをcmakeに追加する必要がある場所を見つけました。
-DCMAKE_SKIP_RPATH:BOOL=YES
これでインストールは成功しましたが、Pythonでshibokenをインポートしようとすると、次のようになりました。
import shiboken
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: libshiboken.so: cannot open shared object file: No such file or directory
Googleは、$LD_LIBRARY_PATHにそれらのライブラリが配置されているパスが含まれていないために問題が発生していることを明らかにしました。まず第一に、ubuntu 12(そして私は10と11もそうだと思います)は$ LD_LIBRARY_PATH環境変数をもう使用しないので、設定さえされていませんでした。そのため、未設定の変数をパスで結合しようとしたため、パスでさえ正しくありませんでした。
export LD_LIBRARY_PATH=$PYSIDESANDBOXPATH/lib:$LD_LIBRARY_PATH
そのため、2つの通常の文字列として扱い、それらを結合しました。以下のスニペットは、このような問題を引き起こさないように安全に結合する方法を示しています。しかし、それでも問題は解決しませんでした。ldconfigを実行しても何も更新されなかったため、Pythonでのインポートは再び失敗しました。googleでも見つかった最終的な解決策:)は、/ etc / ld.so.conf.d /に新しいファイルを作成し、そこに$ LD_LIBRARY_PATHの内容を配置し、その後ldconfigを実行することでした。したがって、これが期待どおりに機能した最終的なインストールスクリプトです。
#!/usr/bin/env bash
export PYSIDESANDBOXPATH=/path/to/my/virtualenv
export PATH="$PYSIDESANDBOXPATH/bin${PATH:+:$PATH}"
export PYTHONPATH="$PYSIDESANDBOXPATH/lib/python2.7/site-packages${PYTHONPATH:+:$PYTHONPATH}"
export LD_LIBRARY_PATH="$PYSIDESANDBOXPATH/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
export PKG_CONFIG_PATH="$PYSIDESANDBOXPATH/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}"
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$PYSIDESANDBOXPATH -DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_BUILD_TYPE=Debug -DENABLE_ICECC=0
make
make install
sudo sh -c "echo $LD_LIBRARY_PATH > /etc/ld.so.conf.d/shiboken.conf"
sudo ldconfig
それがすべてです、それは私が理解するのに数時間かかりました、これが他の誰かを救うことを願っています:)