-
Notifications
You must be signed in to change notification settings - Fork 26
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
ImportError: libignition-gazebo4.so.4: cannot open shared object file: No such file or directory #288
Comments
It seems the scenario lib is missing, or the complier cannot link to this lib. I have checked that the -$ find . -name scenario
And the python paths are:
|
@yijionglin How did you install Ignition Gazebo? Here you can find the requirements of both Stable and Nightly, the latest release requires Dome. Note that Ubuntu Bionic is not officially supported. However, with minor extra steps wrt those listed in the installation guide, gym-ignition should be able to run also there. |
@diegoferigo Hi, thanks for the quick reply! I re-installed the Ignition Gazebo with the Dome version, and then installed
I tried I also checked the GCC version in the terminal with
Also, I checked clang version with
I'm not sure what's the problem behind them, could you please give me some ideas? (One thing, which I'm not sure whether it would be the problem, is that when I imported the Cheers, |
I have installed
It seems there is no |
As I said, Ubuntu Bionic is not officially supported, and the problems you're encountering are among the reasons. I'll try to explain the situation. gym-ignition is a hybrid Python / C++ package that requires finding a number of system dependencies (we will lift some of these requirements as soon as the tools for PEP600 will be finalized). You can install gym-ignition in two ways from PyPI: using the You can find all the libraries that are missing by locating the file ldd /path/to/scenario/bindings/_gazebo.so
In your case, I suspect that the dynamic loader will not find one or more libraries, including A possible workaround to make gym-ignition run in Ubuntu Bionic, or any other non-supported distribution, is to install it from
This could not be straighforward. In fact, beyond the runtime dependencies like Ignition Dome, installing from If you cannot upgrade your system, please consider running all your code in a Docker container. It would allow you to have a focal distribution without the need to upgrade your system. If not, I can try to provide guidance for Ubuntu Bionic, but it could take some while to converge to a working setup. We removed it from the supported systems because it required too many manual steps due to some outdated packages in its repos. |
Closing this issue since it was referring to an unsupported platform. Feel free to comment again in case you need more advice. |
Hey @diegoferigo, Thanks. |
Hi @Gaoyuan-Liu, thanks for the feedback. I understand your point. We supported Ubuntu Bionic for almost 2 years and the installation instructions were quite complicated. As soon as Focal has been released, we started migrating our systems and recommend all those who cannot to rely on docker. Nowadays, it's pretty simple 1) creating a container 2) disabling network isolation and 3) enabling X11 support. In this way, the host could be your preferred and relatively old distribution. This being said, since you're not the first asking some steps for Ubuntu Bionic, you can try the following:
I went open loop with the commands above, please let me know if something is wrong. |
For those reading this issue in the future, I also cross-link #293 (comment). In our organization we started exploring conda and conda-forge. Such setup would provide a unified, distro-agnostic, multi-platform installation scheme. We're still in exploration phase, but on the long run it could become the preferred way to install also gym-ignition. |
Hi,
After installing this pkg with
pip install gym-ignition
, I ran theexample.py
from here, and got this issue:Traceback (most recent call last): File "example.py", line 3, in <module> from scenario import gazebo as scenario_gazebo File "/home/th20988/py38ign/lib/python3.8/site-packages/scenario/__init__.py", line 93, in <module> from .bindings import core File "/home/th20988/py38ign/lib/python3.8/site-packages/scenario/bindings/core.py", line 12, in <module> import scenario.bindings.gazebo File "/home/th20988/py38ign/lib/python3.8/site-packages/scenario/bindings/gazebo.py", line 13, in <module> from . import _gazebo ImportError: libignition-gazebo4.so.4: cannot open shared object file: No such file or directory
Before meeting this error, I also came across this one :
Traceback (most recent call last): File "gymign_example.py", line 3, in <module> from scenario import gazebo as scenario_gazebo File "/home/th20988/py38ign/lib/python3.8/site-packages/scenario/__init__.py", line 93, in <module> from .bindings import core File "/home/th20988/py38ign/lib/python3.8/site-packages/scenario/bindings/core.py", line 12, in <module> import scenario.bindings.gazebo File "/home/th20988/py38ign/lib/python3.8/site-packages/scenario/bindings/gazebo.py", line 13, in <module> from . import _gazebo ImportError: libpython3.8.so.1.0: cannot open shared object file: No such file or directory
I solved this error by solutions provided here and here. I'm not sure if these solutions result in the first error.
I'm using Ubuntu 18 and just have installed python 3.8 according to this webpage, then python 3.8 was used as the interpreter to create a virtual env with this command
virtualenv -p python3.8 py38ign
Any help and ideas would be highly appreciated!!
Cheers,
The text was updated successfully, but these errors were encountered: