rosdep and unsupported OS install
Hi, I am currently using Manjaro, an Arch based OS. It seems to be supported officially as described here: https://github.com/ros-infrastructure/rospkg/blob/master/src/rospkg/os_detect.py#L714
Nevertheless, when running rosdep install, I am encountering some issues:
rosdep install --from-paths ./robot_ws --ignore-src -r -y
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:]
package_in_ws1: Unsupported OS [manjaro]
package_in_ws2: Unsupported OS [manjaro]
Continuing to install resolvable dependencies...
#All required rosdeps installed successfully
Because of this, it doesn't detect properly dependencies to install. I also tried to pass arch as a rosdistro, but it's also strange:
rosdep install --from-paths ./robot_ws --ignore-src -r -y --os=arch:
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
package_in_ws1: No definition of [amcl] for OS [arch]
package_in_ws2: No definition of [ros_controllers] for OS [arch]
Continuing to install resolvable dependencies...
#All required rosdeps installed successfully
As a note, I tried 2 different ways of installing rosdep: with pip or with
yay -S python-rosdep
Edit1 rosdep install --from-paths ./robot_ws/src --ignore-src -r -y --os="arch:"
package_in_ws1: Cannot locate rosdep definition for [amcl]
package_in_ws2: Cannot locate rosdep definition for [ros_controllers]
Asked by Dben on 2020-02-24 09:44:28 UTC
Comments
as an observation:
amcl
is a ROS package (and so isros_controllers
(note btw that this is a metapackage and should not be depended on)). Sorosdep
should not be looking for them in therosdep
DB at all.Could you try your command, but like this:
it could be it complains about
ros_controllers
as it's a metapackage, I'm not sure.Note: Arch is a supported OS as in: it can be detected by
os_detect.py
. But that doesn't mean therosdep
DB has rules for all dependencies. Those are two different things.Asked by gvdhoorn on 2020-02-24 11:13:54 UTC
Ah ok, I didn't understand how it is working then. I added the output. It indeed doesn't find the rosdep definition. I guess i need to install it manually or use a container
Asked by Dben on 2020-02-24 11:49:54 UTC
Can you resolve anything with
rosdep
? What is the output ofrosdep resolve --os="arch:" boost
?I've tested a few things in an
manjarolinux/base
container and I don't actually know right now whyrosdep
complains about some ROS packages, but is happy about others (in a test workspace, it only complains aboutxacro
fi, but not aboutrviz
,joint_state_publisher
orrobot_state_publisher
).Asked by gvdhoorn on 2020-02-24 12:16:13 UTC
When I answered you I edited the post with the result, I forgot to mention it. Thanks for the test, it is very strange :/
Asked by Dben on 2020-02-24 12:36:22 UTC
I found that rosdep can help you find missing dependencies, but you need to manually fetch them from the AUR (archlinux). I am not sure how it is in Manjaro. I got warnings for
xacro
as well, even though it was installed, but after getting the other missing one now rosdep says everything is installed.Asked by sugarraysam on 2021-01-02 22:06:14 UTC