きゃべログ

プログラミングや電子工作などについての記事がほとんどです

libpython2.7.so.1.0: cannot open shared object file

0 件のコメント

最近SonyからNeural Network LibrariesというDeep Learningのライブラリが公開されたので試してみようと環境構築していました。

環境構築当時Python2.7にしか対応していなかったのでpyenvで環境構築しました。
Installation on Linux — Neural Network Libraries 0.9.4 documentation

ぐぐってみたら、どうもシンボリックリンクを貼れば解決するようだ。
Python エラー対処:error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory - 長生村本郷Engineers'Blog

そもそもはいってないからリンクはれない、きれそう

[vagrant@localhost nnabla]$ ldd /home/vagrant/.pyenv/versions/2.7/bin/python
linux-vdso.so.1 => (0x00007ffdbe3a5000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f22cb0c2000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f22caebe000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f22cacba000)
libm.so.6 => /lib64/libm.so.6 (0x00007f22caa36000)
libc.so.6 => /lib64/libc.so.6 (0x00007f22ca6a2000)
/lib64/ld-linux-x86-64.so.2 (0x00007f22cb2e7000)</module></module></string>

問題発生

pyenvでpython2.7系でnnablaをインストールしたときに、libpython2.7.so.1.0: cannot open shared object fileとなる問題が発生しました。

[vagrant@localhost nnabla]$ python -c "import nnabla"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/vagrant/.pyenv/versions/2.7/lib/python2.7/site-packages/nnabla/__init__.py", line 16, in <module>
import _init # Must be imported first
ImportError: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

解決方法

$ CONFIGURE_OPTS="--enable-shared" pyenv install 2.7.6

インストール時にオプションを設定する必要があるらしい。下記がソース

え?君せっかく Python のバージョン管理に pyenv 使ってるのに Vim の補完はシステムライブラリ参照してるの? - Λlisue's blog

まとめ

ひょっとしたらライブラリ側で解決されているかもしれませんが、同様の問題の解決の一助になれば幸いです。

0 件のコメント :

コメントを投稿