Closed traversaro closed 3 years ago
Related to https://github.com/RoboStack/ros-galactic/issues/7 .
fyi @Tobias-Fischer @gregfreeman
Possibly a duplicate of https://github.com/RoboStack/ros-galactic/issues/1 .
I just tried after manually sourcing the environment via the commands described in https://github.com/RoboStack/ros-galactic/issues/5#issuecomment-882720594 , but the issue persists. On Windows a file outside the environment is created, but it is not creating an error as apparently I have the permission to do so:
(ros2) C:\Users\STraversaro>rosdep init
Wrote /etc/ros\rosdep\sources.list.d\20-default.list
Recommended: please run
rosdep update
but the rosdep is essentially the same as for noetic, isn't it?
ERROR: cannot create /etc/ros/rosdep/sources.list.d: [Errno 13] Permission denied: '/etc/ros'
This looks like rosdep init is failing to run because it is trying to write to the root /etc/ros
rather than a conda environment. As far as I know there is no way to avoid this without the changes proposed in https://github.com/ros-infrastructure/rosdep/pull/583
How is that working for the noetic instructions?
I guess it is somehow related to this patch: https://github.com/RoboStack/ros-noetic/blob/cbd8a2011de90923a154bca7533d0e1578269065/patch/ros-noetic-rosdep.patch . However, I tought rosdep is not package by robostack but in conda-forge, let me check that.
Based on the rosdep patch in conda-forge, I guess we need to set ROS_ETC_DIR
somehow, see https://github.com/conda-forge/rosdep-feedstock/blob/master/recipe/add-robostack.patch#L326 .
At a first glance, it seems that in ROS1 ROS_ETC_DIR
is defined in https://github.com/ros/ros_environment/blob/noetic/env-hooks/1.ros_etc_dir.sh.em, that then is copied in the correct location by https://github.com/RoboStack/ros-noetic/blob/6aee2cd0311ebe70219cd32bf85e67a313bb7e0d/additional_recipes/build_catkin.sh#L85 .
This is a related issue: https://github.com/ros/ros_environment/issues/25 .
Ok, it seems that the options are:
ROS_ETC_DIR
in some package (as a local package in ros-galactic-workspace
?)ROSDEP_ETC_DIR
somewhere (see the previous point)Do you see any other possible solution @Tobias-Fischer @nuclearsandwich ?
It's already patched in the conda-forge feedstock: https://github.com/conda-forge/rosdep-feedstock/blob/master/recipe/add-robostack.patch
So we just need to define ROS_ETC_DIR
somewhere, similarly to https://github.com/ros/ros_environment/blob/noetic/env-hooks/1.ros_etc_dir.sh.em
Fix suggested in https://github.com/RoboStack/vinca/pull/13
After rebuilding the workspace package that should be fixed
Works fine
I followed the instructon in the README in Ubuntu 20.04, and at the
rosdep init
I get an error:Environment (
conda list
):Details about
conda
and system (conda info
):