ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Thanks to @nuclearsandwich for pointing me to the source of the issue:
I wasn't aware even basic build tools like catkin need to be build first through distribution.yaml
(instead of being used from the prerequisites:
repositories defined in the ros_buildfarm_config
's index.yaml.
catkin
was actually also in the distribution list, but it failed to build for different reasons.
First it was /usr/bin/env: ‘python’: No such file or directory
which I was able to work around by injecting ln -s /usr/bin/python3 /usr/bin/python
into the docker file,
then it failed because of not finding python-catkin-pkg
or ImportError: No module named terminal_color
so I injected installing python-catkin-pkg and python-catkin-pkg-modules as well.
Eventually I figured there's probably another package which is expected to be build first which would install all the packages and configure the build environment, so I tried building ros
first. It also failed, but it apparently prepared the docker environment enough for catkin
to build. Now, other packages build as well.
tl;dr:
RuntimeError: Could not resolve the rosdep key
indicates that this package should be built first.
The correct order seems to be rospack
=> ros
=> catkin
=> all other packages.
2 | No.2 Revision |
Thanks to @nuclearsandwich for pointing me to the source of the issue:
I wasn't aware even basic build tools like catkin need to be build first through distribution.yaml
(instead of being used from the prerequisites:
repositories defined in the ros_buildfarm_config
's index.yaml.
catkin
was actually also in the distribution list, but it failed to build for different reasons.
First it was /usr/bin/env: ‘python’: No such file or directory
which I was able to work around by injecting ln -s /usr/bin/python3 /usr/bin/python
into the docker file,
then it failed because of not finding python-catkin-pkg
or ImportError: No module named terminal_color
so I injected installing python-catkin-pkg and python-catkin-pkg-modules as well.
Eventually I figured there's probably another package which is expected to be build first which would install all the packages and configure the build environment, so I tried building ros
first. It also failed, but it apparently prepared the docker environment enough for catkin
to build. Now, other packages build as well.
tl;dr:
RuntimeError: Could not resolve the rosdep key
indicates that this package should be built first.
The correct order seems to be cmake_modules
=> rospack
=> genmsg
=> roscpp_core
=> genpy
=>message_runtime
=> ros
=> catkin
=> all other packages.