Maintain packages build from source
I want to know how I get and maintain packages that I have to build from source.
So, I want to use the hector_quadrotor
package on jade, so I started off trying to install the tutorial package, which was not build for jade, so I build it from source.
This involved me building several other packages from source as well. I don't know if my approach is the way you should do that with ROS (with catkin and jade), so I want to ask how you would do that?
- So we start off with a catkin workspace (
catkin_ws
) where we want to use a source build package. - I follow the tutorial here in 1.2 and wsinit a folder in my
catkin_ws/src
folder. If I want to build it, it says that there is a package missing:
hardware_interface
, it turns out that this package is not available for jade (yet), so I go ahead with my "missing package" algorithm which is the following:I go to my
catkin_ws/devel
and dorosws set <name> --git <url_to_repository_with_package_or_stack>
- I update the ws:
rosws update <name>
- I re-source:
source catkin_ws/devel/setup.bash
Now, the silly part comes in: I COPY the package I need from catkin_ws/devel/<name>/
to catkin_ws/src/
So, e.g. for my case hardware_interface
, I would checkout the ros_control
(as <name>
) and just copy everything out from there to my src folder. I can't just leave everything in devel (although it is in the CMAKE path), I have to copy EVERY individual package from the stack folder in devel to my src folder.
That can impossibly be the way how this should work.
I was expecting that I point my workspace to a repository if it couldn't find it and it would download and maintain it on it's own.
I mean, this works, but it is nasty. Please help.