open-rmf/rmf_demos

Unable to update or reinstall rmf_demos

manujose94 opened this issue · 4 comments

For a couple of months, our research team has been working with an old version of rmf_demos.

In order to advance our testing and work with the new features, we have decided to upgrade, but we are unable to compile the new version of rmf_demos.

Our Set-Up (workstation):

  • Ubuntu 20.04.
  • Ros2 Foxy.
  • Ros1 Noetic.

We have followed the steps, as marked in the demos, but modifying the project folder (workspace). Here the steps :

cd new_rmf_ws/
wget https://raw.githubusercontent.com/open-rmf/rmf/main/rmf.repos
vcs import src < rmf.repos
mkdir src
vcs import src < rmf.repos
 rosdep install --from-paths src --ignore-src --rosdistro foxy -yr
rosdep updapte
sudo apt-get update
rosdep install --from-paths src --ignore-src --rosdistro foxy -yr
source /opt/ros/foxy/setup.bash
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

Here the error during compilation:

Finished <<< menge_vendor [23.4s]
Finished <<< rmf_charger_msgs [23.5s]                                                                               
Finished <<< rmf_dispenser_msgs [23.8s]                                                                             
Starting >>> rmf_ingestor_msgs
Starting >>> rmf_task_msgs
Finished <<< rmf_door_msgs [23.8s]
Finished <<< rmf_workcell_msgs [26.6s]                                                                               
Finished <<< rmf_utils [27.8s]                                                                                       
Starting >>> rmf_traffic
Finished <<< rmf_building_map_msgs [29.8s]                                                                                                              
Starting >>> rmf_building_map_tools
Starting >>> rmf_building_sim_common
Starting >>> rmf_visualization_building_systems
Finished <<< rmf_visualization_building_systems [0.89s]                                                                                                
Finished <<< rmf_building_map_tools [0.98s]
Starting >>> rmf_demos_maps
Starting >>> rmf_traffic_editor_test_maps
--- stderr: rmf_traffic_editor_test_maps                                                                                                               
BUILDING WORLDFILE WITH COMMAND: ros2 run rmf_building_map_tools building_map_generator gazebo /home/cluster1/new_rmf_ws/src/rmf/rmf_traffic_editor/rmf_traffic_editor_test_maps/maps/door_madness/door_madness.building.yaml /home/cluster1/new_rmf_ws/build/rmf_traffic_editor_test_maps/maps/door_madness/door_madness.world /home/cluster1/new_rmf_ws/build/rmf_traffic_editor_test_maps/maps/door_madness/models
DOWNLOADING MODELS WITH COMMAND: ros2 run rmf_building_map_tools building_map_model_downloader /home/cluster1/new_rmf_ws/src/rmf/rmf_traffic_editor/rmf_traffic_editor_test_maps/maps/door_madness/door_madness.building.yaml
Traceback (most recent call last):
  File "/home/cluster1/new_rmf_ws/install/rmf_building_map_tools/lib/rmf_building_map_tools/building_map_generator", line 11, in <module>
    load_entry_point('rmf-building-map-tools==0.0.0', 'console_scripts', 'building_map_generator')()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 490, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2854, in load_entry_point
    return ep.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2445, in load
    return self.resolve()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2451, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/home/cluster1/new_rmf_ws/install/rmf_building_map_tools/lib/python3.8/site-packages/building_map_generator/building_map_generator.py", line 3, in <module>
    from building_map.generator import Generator
  File "/home/cluster1/new_rmf_ws/install/rmf_building_map_tools/lib/python3.8/site-packages/building_map/generator.py", line 4, in <module>
    from .building import Building
  File "/home/cluster1/new_rmf_ws/install/rmf_building_map_tools/lib/python3.8/site-packages/building_map/building.py", line 1, in <module>
    import fiona
ModuleNotFoundError: No module named 'fiona'
make[2]: *** [CMakeFiles/generate_door_madness.dir/build.make:61: maps/door_madness/door_madness.world] Error 1
make[1]: *** [CMakeFiles/Makefile2:78: CMakeFiles/generate_door_madness.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
---
Failed   <<< rmf_traffic_editor_test_maps [1.95s, exited with code 2]
Aborted  <<< rmf_demos_maps [2.26s]                                                                                        
Aborted  <<< rmf_ingestor_msgs [10.9s]                                                                                     
Aborted  <<< rmf_fleet_msgs [37.6s]                                                                                         
Aborted  <<< rmf_building_sim_common [12.3s]                                                                                   
Aborted  <<< rmf_task_msgs [30.6s]                                                                                             
Aborted  <<< rmf_traffic_editor [59.3s]                                                                                         
Aborted  <<< rmf_traffic_msgs [1min 9s]                                                                                      
Aborted  <<< rmf_traffic [1min 36s]                                          

Summary: 16 packages finished [2min 6s]
  1 package failed: rmf_traffic_editor_test_maps
  8 packages aborted: rmf_building_sim_common rmf_demos_maps rmf_fleet_msgs rmf_ingestor_msgs rmf_task_msgs rmf_traffic rmf_traffic_editor rmf_traffic_msgs
  4 packages had stderr output: menge_vendor rmf_building_sim_common rmf_demos_maps rmf_traffic_editor_test_maps
  20 packages not processed

Thanks in advance

Thank you for reporting this.

We recently added a dependency on Fiona which can be installed with:

sudo apt install python3-fiona

I'm not quite sure why the rosdep install step didn't install it. We'll look into that. Thanks again for the report.

I just ran through the dependency-installation process on a clean Ubuntu 20.04 container and python3-fiona was installed by rosdep as expected. We added the python3-fiona key on 2 November 2021, so if your rosdep files had not been updated since then, that would explain why the rosdep key was not found. I see this in your command log:

rosdep updapte 

Which should print rosdep: error: Unsupported command updapte.
If you try it again like this:

rosdep update

then rosdep should download new version of the rosdep key files and be able to resolve python3-fiona.

I would also suggest running rosdep install without the -r switch, which ignores errors, since in this case we want to see failures about undefined rosdep keys. I'll update the docs now. So anyway your rosdep invocation would look like this:

rosdep install --from-paths src --ignore-src --rosdistro foxy -y

Installation docs updated here: open-rmf/rmf#119

I just ran through the dependency-installation process on a clean Ubuntu 20.04 container and python3-fiona was installed by rosdep as expected. We added the python3-fiona key on 2 November 2021, so if your rosdep files had not been updated since then, that would explain why the rosdep key was not found. I see this in your command log:

rosdep updapte 

Which should print rosdep: error: Unsupported command updapte. If you try it again like this:

rosdep update

then rosdep should download new version of the rosdep key files and be able to resolve python3-fiona.

I would also suggest running rosdep install without the -r switch, which ignores errors, since in this case we want to see failures about undefined rosdep keys. I'll update the docs now. So anyway your rosdep invocation would look like this:

rosdep install --from-paths src --ignore-src --rosdistro foxy -y

I follwed the recommendations and the new version of the doc, it worked for me. Thank you.