日々精進

新しく学んだことを書き留めていきます

PyCharmからOpenVINOをimportすると「ImportError: /opt/conda/envs/myenv/lib/python3.7/site-packages/openvino/inference_engine/ie_api.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _ZN15InferenceEngine10IExtension9getOpSetsEv」エラー

.soファイル:soはshared objectの略。動的にリンクされる共有ライブラリ・バイナリファイル

undefined symbolの原因:soファイルから参照している関数が見つからない(=関数が実装されているsoファイルが見つからない)こと

undefined symbol: の後の_ZN15InferenceEngine10IExtension9getOpSetsEvはC++ name manglingされた関数名

よって、ie_api.cpython-37m-x86_64-linux-gnu.soが参照している関数を実装しているsoファイルのパスを通せば直る。リンカはLD_LIBRARY_PATHを検索するので、これを使ってsoファイルの場所を教える。

つまり、以下のように環境変数を設定すると直る。

export LD_LIBRARY_PATH=/opt/conda/envs/myenv/lib

参考:

teratail.com