Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libworld.soが見つからないというエラーが出てしまいます。 #6

Open
tobieneko opened this issue Nov 21, 2020 · 10 comments

Comments

@tobieneko
Copy link

不躾な形のお伺いで大変失礼いたします。
インストールしたWorld4pyを用いようとした際、
OSError: /usr/local/lib/python3.6/dist-packages/world4py/libworld.so: cannot open shared object file: No such file or directory
と出力され、動作できない状態となっています。
(ファイルを探してみたところ、上記の階層にちゃんと存在していました。
 ※os.path.exists(_WORLD_LIBRARY_PATH)でチェックし True が返ることを確認しました。)

解決方法などご存知でしたらご共有いただけると大変助かります。

OS:Ubuntu 18.04.5 LTS (Bionic Beaver)
Python 3.6.9

該当エラー部分抜粋

from world4py.native import structures, apidefinitions, utils
File "/usr/local/lib/python3.6/dist-packages/world4py/native/init.py", line 6, in
from world4py.native import apis, tools, utils, structures
File "/usr/local/lib/python3.6/dist-packages/world4py/native/apis.py", line 6, in
from world4py.native import apidefinitions, structures, utils
File "/usr/local/lib/python3.6/dist-packages/world4py/native/apidefinitions.py", line 7, in
from world4py.native import structures, instance
File "/usr/local/lib/python3.6/dist-packages/world4py/native/instance.py", line 9, in
_WORLD = ctypes.cdll.LoadLibrary(_WORLD_LIBRARY_PATH)
File "/usr/lib/python3.6/ctypes/init.py", line 426, in LoadLibrary
return self._dlltype(name)
File "/usr/lib/python3.6/ctypes/init.py", line 348, in init
self._handle = _dlopen(self._name, mode)
OSError: /usr/local/lib/python3.6/dist-packages/world4py/libworld.so: cannot open shared object file: No such file or directory

@tobieneko
Copy link
Author

tobieneko commented Nov 21, 2020

補足です。
似たような他の場所でのissueの中で再インストールをおすすめされているものもあったため
sudo pip3 uninstall world4py
sudo pip3 --no-cache-dir install -I world4py
の流れで再インストールを試しましたが、現象は同じでした。

@yamachu
Copy link
Owner

yamachu commented Dec 9, 2020

@tobieneko さん

お返事遅くなってしまい申し訳ございません。
ファイルが存在しているにも関わらずcannot openとなるにはいくつか原因が考えられます。

例えば使用しているubuntuのアーキテクチャがlibworld.soのものと違う場合ですね。

差し支えなければ以下のコマンドをターミナルに打った結果を教えていただけますでしょうか。

1つ目

$ arch

おそらく x86_64 と返ってくるかと思います。

2つ目

$ file /usr/local/lib/python3.6/dist-packages/world4py/libworld.so

結果としては /usr/local/lib/python3.6/dist-packages/world4py/libworld.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4984894dbd1b70992cd355999757e5b4746670c4, not stripped

こういった結果は返ってくるでしょうか?

@enack
Copy link

enack commented Mar 30, 2021

すいません。私も同じ現象が起きてまして
「/usr/local/lib/python3.6/dist-packages/world4py/libworld.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4984894dbd1b70992cd355999757e5b4746670c4, not stripped」
というエラーが出ています。この場合、どう対処すればよいかなどありますか

@yamachu
Copy link
Owner

yamachu commented Mar 31, 2021

Docker for mac上のubuntu:18.04上で動作を確認したのですが、詳細な環境を教えていただいてもよろしいでしょうか?

# on mac
 docker run -it ubuntu:18.04 /bin/bash

# on docker image
root@24a70aa1e386:/#  apt-get update
root@24a70aa1e386:/#  apt-get install python3
root@24a70aa1e386:/#  apt-get install curl
root@24a70aa1e386:/# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
root@24a70aa1e386:/# apt-get install python3-distutils
root@24a70aa1e386:/#  pip3 install World4Py
root@24a70aa1e386:/# python3
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from world4py.native import structures, apidefinitions, utils
>>>
root@24a70aa1e386:/#  file /usr/local/lib/python3.6/dist-packages/world4py/libworld.so
/usr/local/lib/python3.6/dist-packages/world4py/libworld.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4984894dbd1b70992cd355999757e5b4746670c4, not stripped
root@24a70aa1e386:/# arch
x86_64

@yamachu
Copy link
Owner

yamachu commented Mar 31, 2021

またpythonの実行前に

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

を試して頂けますか?

@enack
Copy link

enack commented Mar 31, 2021

環境変数設定しても失敗します。

環境としてはjetson nano 2GBを使ってまして、
python 3.6.9
Ubuntu18.4
です。
他に必要な情報が見えてなくてすいません。五月雨式になってしまいました。

@yamachu
Copy link
Owner

yamachu commented Mar 31, 2021

@enack さん

環境としてはjetson nano 2GBを使ってまして、

なるほど…であればshellで

$ arch

をタイプし結果を教えていただけますでしょうか?
armなのかな………

@enack
Copy link

enack commented Mar 31, 2021

aarch64
なので、ARMですね

@yamachu
Copy link
Owner

yamachu commented Mar 31, 2021

なるほど、現在x86_64向けのworldのバイナリしか提供していないため、ご自身でビルドしてもらう必要が出てきてしまいます。
利用ケースが見えたため今後対応しようとは思いますが、以下の流れを試していただけますでしょうか

# jetson nano上で
1. git clone https://github.com/yamachu/World
2. git checkout  type/for_cswrapper
3. make linux_shared CXX=g++ CXXFLAGS="-O1 -Wall -fPIC" LDFLAGS=""
4. buildディレクトリ以下にlibworld.soがあると思うので、指定の場所にコピー

@enack
Copy link

enack commented Mar 31, 2021

ソースコンパイルしたらできました。ありがとうございます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants