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

apt binary install issue for RMF galactic #100

Closed
cnboonhan opened this issue Oct 2, 2021 · 3 comments · Fixed by open-rmf/rmf_simulation#60
Closed

apt binary install issue for RMF galactic #100

cnboonhan opened this issue Oct 2, 2021 · 3 comments · Fixed by open-rmf/rmf_simulation#60
Assignees
Labels
bug Something isn't working

Comments

@cnboonhan
Copy link
Contributor

cnboonhan commented Oct 2, 2021

On installing RMF on galactic binaries off a ubuntu 20.04 installation, I seem to encounter issues with installing robot-sim-ignition plugins:

vagrant@rmf:~$ sudo apt install ros-galactic-rmf-robot-sim-ignition-plugins
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 ros-galactic-rmf-building-sim-ignition-plugins-dbgsym : Depends: ros-galactic-rmf-building-sim-ignition-plugins (= 1.3.0-1focal.20210909.173357) but it is not going to be installed
 ros-galactic-rmf-demos-ign : Depends: ros-galactic-rmf-building-sim-ignition-plugins but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
vagrant@rmf:~$ sudo apt install ros-galactic-rmf-building-sim-ignition-plugins
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 ros-galactic-rmf-demos-ign : Depends: ros-galactic-rmf-robot-sim-ignition-plugins but it is not going to be installed
 ros-galactic-rmf-robot-sim-ignition-plugins-dbgsym : Depends: ros-galactic-rmf-robot-sim-ignition-plugins (= 1.3.0-1focal.20210909.173540) but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
vagrant@rmf:~$

You can reproduce it by the following:

sudo apt install ros-galactic-desktop
 sudo apt install ros-galactic-rmf-robot-sim-gazebo-plugins
 sudo apt install ros-galactic-rmf-robot-sim-ignition-plugins

This is seems to be due to multiple copies of '/opt/ros/galactic/lib/x86_64-linux-gnu/libreadonly.so` being installed.

ubuntu@HpPersonal [100]:~  $ sudo apt install ros-galactic-rmf-robot-sim-ignition-plugins
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libllvm11 ros-galactic-rmf-battery ros-galactic-rmf-door-msgs ros-galactic-rmf-lift-msgs ros-galactic-rmf-task ros-galactic-rmf-task-msgs shim
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  ros-galactic-rmf-robot-sim-ignition-plugins
0 upgraded, 1 newly installed, 0 to remove and 21 not upgraded.
Need to get 0 B/349 kB of archives.
After this operation, 2,463 kB of additional disk space will be used.
(Reading database ... 407975 files and directories currently installed.)
Preparing to unpack .../ros-galactic-rmf-robot-sim-ignition-plugins_1.3.0-1focal.20210909.173540_amd64.deb ...
Unpacking ros-galactic-rmf-robot-sim-ignition-plugins (1.3.0-1focal.20210909.173540) ...
dpkg: error processing archive /var/cache/apt/archives/ros-galactic-rmf-robot-sim-ignition-plugins_1.3.0-1focal.20210909.173540_amd64.deb (--unpack):
 trying to overwrite '/opt/ros/galactic/lib/x86_64-linux-gnu/libreadonly.so', which is also in package ros-galactic-rmf-robot-sim-gazebo-plugins 1.3.0-1focal.20210909.173539
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/ros-galactic-rmf-robot-sim-ignition-plugins_1.3.0-1focal.20210909.173540_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
@cnboonhan cnboonhan added the bug Something isn't working label Oct 2, 2021
@cnboonhan cnboonhan added this to Urgent Issues in Research & Development via automation Oct 2, 2021
@marcoag marcoag self-assigned this Oct 4, 2021
@marcoag marcoag moved this from Urgent Issues to In Progress in Research & Development Oct 4, 2021
@marcoag
Copy link
Member

marcoag commented Oct 4, 2021

Ok, so it seems that the conflicting file is:

trying to overwrite '/opt/ros/galactic/lib/x86_64-linux-gnu/libreadonly.so', which is also in package ros-galactic-rmf-robot-sim-gazebo-plugins 1.3.0-1focal.20210909.173539

I locally tested some changes to rename each one of these plugins to readonly_gz and readonly_ign respectively in order to avoid the conflicting filename. This will most probably need a change somewhere on rmf_demos too (caddy sdf model I believe). Waiting for some feedback from @luca-della-vedova as he knows more about this to see if there might be any conflicts with that solution.

I'm also wondering if we should use more RMF specific names for stuff like this, i.e., rmf_readonly_fleet_gz instead of just readonly_gz, which means very little on the overall ROS scope.

@Yadunund
Copy link
Member

Yadunund commented Oct 4, 2021

I'm also wondering if we should use more RMF specific names for stuff like this, i.e., rmf_readonly_fleet_gz instead of just readonly_gz, which means very little on the overall ROS scope.

I think including an rmf prefix is a good idea

@luca-della-vedova
Copy link
Member

I think this might be a slightly hairier issue, right now the fact that the files have the same name is "by design" so we can have a single sdf file for each model and have it look for a single file (i.e. libreadonly, or librmf_readonly if you wish) , then depending on the configured search path in the launch file either the Ignition or Gazebo file will be found.
My first question is whether it would be possible to keep a similar approach and instead of installing under /lib/<filename> having it under /lib/package_name/<filename>, this should fix the issue.
Otherwise we will have to come up with a way to load different plugins for the models, since (if I remember correctly) it's not quite possible to override only what we need in the <plugin> tag at the world file level, we might have to enforce some other solution (i.e. gz and ign packages conflicting with each other) but that's not quite optimal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

Successfully merging a pull request may close this issue.

4 participants