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...
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]
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.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
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
).When I answered you I edited the post with the result, I forgot to mention it. Thanks for the test, it is very strange :/
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.