Apt update on Noetic ROSJet Fails on updating ros-noetic-gazebo-ros


I’m setting up for my course in a couple weeks, and re-testing the Noetic ROSJet that I share with my students as a template. (I know Noetic isn’t the most recent, but our robots run Noetic, and we don’t have reason to update these at present). I’ve created a new Noetic RosJet, but also needed to install some other ROS packages. This triggers an upgrade of ROS Gazebo, which brings me to the issue.

Updating the ros-noetic-gazebo-ros package results in an error

Unpacking ros-noetic-gazebo-ros (2.9.2-1focal.20221209.220257) over (2.9.2-1focal.20210727.073131) ...
dpkg: error processing archive /var/cache/apt/archives/ros-noetic-gazebo-ros_2.9.2-1focal.20221209.220257_amd64.deb (--unpack):
 unable to make backup link of './opt/ros/noetic/lib/gazebo_ros/gzserver' before installing new version: Invalid cross-device link

From investigations, it appears to be a result of the /opt/ros/noetic/lib/gazebo_ros/gzserver file being mounted from an external location:

/dev/xvda1 /opt/ros/noetic/lib/gazebo_ros/gzserver ext4 rw,relatime,discard,data=ordered 0 0

Thus my question is how can i resolve this issue? Or is there an newer ROSJet i should be basing my initial ROSJet from?

Thank you

Hi @time_wiley,

You are right. The error comes from this gzserver file that was indeed mounted from an external location.

This is a custom file that adds the “--verbose” option to gazebo by default.

I see that if we do not mount that file from an external location, you would be able to upgrade ROS Noetic, but the problem is that you would have to do that each time you open the rosject again.

So my question is:

  • Could you tell us the specific package you want to upgrade? Because maybe we could upgrade from our side so that you wouldn’t have to upgrade every time you open the rosject (since installation changes made in the rosjects are not persisted).
  • Or just an upgrade of Noetic would do the job?

Please let us know so that we can move.

1 Like

Hi, thanks for the quick reply.

I would personally prefer a general noetic upgrade, for consistency with our on-robot versions of the ros packages. I also know from past experience that some students like trying our other packages (such as cartographer), so trying to install any other package might result in the same issue.

The packages that I setup by default for the students are below. I know some are already installed, but this is the full list:

  • ros-noetic-amcl
  • ros-noetic-compressed-depth-image-transport
  • ros-noetic-compressed-image-transport
  • ros-noetic-explore-lite
  • ros-noetic-find-object-2d
  • ros-noetic-grid-map
  • ros-noetic-joint-state-publisher-gui
  • ros-noetic-map-server
  • ros-noetic-rgbd-launch
  • ros-noetic-rosbridge-suite
  • ros-noetic-teleop-twist-keyboard
  • ros-noetic-turtlesim
  • ros-noetic-tf2-eigen
  • ros-noetic-tf2-geometry-msgs
  • ros-noetic-tf2-tools
  • ros-noetic-vision-opencv

Thank you for your help.

Hi @time_wiley,

I just upgraded the ROS Noetic in the rosject whose name starts with 2023.

Please let us know if it works well after the changes I have made.

Hello @ralves ,

I’ve finally had a chance to get back to this.
Thank you for the assistance. I have been able to run my usual code setup, and my pre-prepared examples all seen to run as normal.

Thank you

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.