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

Rosmake: avoid rebuilding dependencies

asked 2013-03-04 10:06:02 -0500

kid-a gravatar image

updated 2013-03-04 10:06:42 -0500

I'm currently working on a ROS package which has many dependencies. Every time I make a change to package and want to recompile it, I run

$ rosmake `package-name`

which actually builds the package and all of its dependencies, even if they have already been built during some previous compilation and their sources did not change.

Not being familiar with rosmake, I don't know whether this is how it works or I am missing something.
Is there a way to tell rosmake to skip dependencies whose binaries already exist?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2013-03-04 10:28:19 -0500

KruseT gravatar image

Yes:

roscd packagename
make

That's basically what rosmake does for all packages in the dependency tree.

edit flag offensive delete link more

Comments

Right. Reading carefully http://www.ros.org/wiki/rosmake: "If you really just want to build a package, and you know that its dependencies are up-to-date, you just type make in that package's top-level directory".

kid-a gravatar image kid-a  ( 2013-03-04 11:00:06 -0500 )edit

Does this skip dependencies whose binaries already exist, or skip all dependencies that are up-to-date, or skip all dependencies? Seems like you could get into trouble by using make on its own.

Thomas D gravatar image Thomas D  ( 2013-03-04 11:11:18 -0500 )edit

It skips all dependencies. If in doubt, run rosmake.

joq gravatar image joq  ( 2013-03-04 11:13:16 -0500 )edit

So - I find that running rosmake packagename --pre-clean helps sometimes when there have been errors, what would be nice is being able to skip certain dependencies that you know compile (and take the longest) and still use --pre-clean..

kleinsplash gravatar image kleinsplash  ( 2014-01-21 01:08:56 -0500 )edit

You can run ``make clean`` in whatever directories you think appropriate, leaving the others alone.

joq gravatar image joq  ( 2014-01-21 02:54:55 -0500 )edit

Question Tools

Stats

Asked: 2013-03-04 10:06:02 -0500

Seen: 343 times

Last updated: Mar 04 '13