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

intelligent rosmake? does rosinstall remove ROS_NOBUILD?

asked 2011-05-26 23:23:02 -0600

felix k gravatar image

updated 2014-01-28 17:09:44 -0600

ngrennan gravatar image

Hello, I'm using ROS on fedora12 in user space, thanks for your help.

  1. Calling rosmake on a package mostly compiles all needed packages including basics like roscpp again, though they have been built already. Why can't it see that those packages didn't change at all?

  2. Therefore I put a ROS_NOBUILD in every pkg that needs more than a blink to build. Updating through rosinstall ~/ros seems to leave this flag, which prevents the updates from being built. Shouldn't there be an option to do remove the flag if reasonable, or perhaps better a way for rosmake to ignore this flag when called after updating rosinstall? Or where am I wrong?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2011-05-28 09:12:17 -0600

tfoote gravatar image
  1. rosmake simply calls 'make' in all the packages in dependency order. It will call make, and make will check the dependencies, and determine that nothing needs to be built.

  2. ROS_NOBUILD is usually used in read only checkouts such as the ones installed in shared locations. It states tells the rosmake that someone is managing the tree and to ignore it. You can use rosmake -i and rosmake -u to mark and unmark. If you update the tree, you should remove the ROS_NOBUILD flags and then recompile and mark ROS_NOBUILD again.

edit flag offensive delete link more


1. Good thought, make needs like a sec to check that nothing needs to be built, which I confirm now from the time stamps. \\ 2. It may be nice to have rosmake -i work recursively, or at least stack-inside. Going to try rosprotect now..
felix k gravatar image felix k  ( 2011-05-29 21:07:33 -0600 )edit

answered 2011-05-27 07:01:32 -0600

kwc gravatar image

I would try out the rosprotect tool.

rosinstall generally isn't responsible for building beyond it's own necessary minimal bootstrapping, so it doesn't have these build-related features.

edit flag offensive delete link more


Thanks for the hint, rosprotect is indeed helpful. There should be an option to protect and never ever (automatically) untprotect a package that downloads more than 3 MB to its build folder and needs like half an hour for that. Maybe I shall make them readonly somehow.
felix k gravatar image felix k  ( 2011-06-02 23:01:07 -0600 )edit

Question Tools


Asked: 2011-05-26 23:23:02 -0600

Seen: 591 times

Last updated: May 28 '11