ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

how to add package to source install

asked 2014-03-26 13:37:07 -0600

Dereck gravatar image

I am building ROS Indigo from source for a BeagleBoneBlack running U13.10 via these instructions: http://wiki.ros.org/indigo/Installati...

I was able to build ros-comm without any problems! YAY!

Now, what is the best way to also build urg_node and all it's dependencies? I hope the anwser is not to make an overlay work-space, manually git clone the source, look in package.xml for more deps, and then git clone those... I imagine that there's some way to use ws tool to automaticly pull urg_node, and it's dependancies such as sensor_msgs for building into either the existing src folder created in the above tutorial, or in an overlay on the install_isolated?

Sorry for being long winded, I just wasn't sure how to phrase the question, but I hope you get what I'm asking... ;)

edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted
3

answered 2014-03-26 23:09:44 -0600

jbinney gravatar image

For released packages you can use the rosinstall_generator: http://wiki.ros.org/rosinstall_generator

It looks like urg_node isn't released, so I think you'll have to do some manual work. Basically, if something isn't released, there isn't any meta-info about where to get the source, or what branch to use for indigo. I'd suggest starting at urg_node, working backwards to add dependencies, but as soon as you reach released packages use the rosinstall_generator. I tried running the rosinstall_generator on all build dependencies of urg_node, and got:

rosinstall_generator  --rosdistro indigo --deps roscpp rosconsole sensor_msgs nodelet dynamic_reconfigure tf laser_proc diagnostic_updater urg_c
The following not released packages/stacks will be ignored: diagnostic_updater, laser_proc, urg_c
... <lots of rosinstall stuff for the other deps>

Since urg_node isn't released for indigo (and doesn't even have an indigo-devel branch), i wouldn't expect it to compile right away - you'll probably have to do some hacking.

edit flag offensive delete link more
1

answered 2014-03-27 06:55:47 -0600

Dereck gravatar image

updated 2014-03-27 06:56:38 -0600

Thanks, Jon! based on your advice I was able to piece together the solution:

I made an overlay workspace and git clone'd in packages that were not yet building on indigo and ran catkin_make. It would then fail to build and tell me it was missing a dep. I then went back to the original source installation directory and added the package and it's deps via:

$ rosinstall_generator tf --rosdistro indigo --deps --wet-only --tar > tf.rosinstall
$ wstool merge -t src tf.rosinstall
$ rosdep install --from-paths src --ignore-src --rosdistro indigo -y
$ ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release

Then try to run catkin_make in my overlay workspace again and find the next dep failure, rinse, repeat. It wan't as bad as I thought it would be ;) Just painfully slow on my little BBB, since it only has an SD card for storage and not enough ram for a ramdisk workspace... :P

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2014-03-26 13:37:07 -0600

Seen: 1,917 times

Last updated: Mar 27 '14