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

How to enable Debian's "dh --parallel" build with Bloom?

asked 2021-04-04 21:12:58 -0500

Thiago Martins gravatar image

updated 2021-04-11 10:21:36 -0500

Hey guys,

Is there an easy to "tell" bloom-generate to create a debian/rules with the --parallel option enabled?

Maybe some tag within the package.xml file, or CLI option?

EDIT: Bring it up! Anyone? ^_^

Cheers!

edit retag flag offensive close merge delete

Comments

1

I don't believe this is supported -- and probably by design: almost all of the output of Bloom (ie: release artefacts) are intended to be built by the ROS buildfarm. That's the entity in charge of controlling the parallelism of builds. I could imagine the admins there would not want every build to start using all available cores.

However, you could see whether you can edit the output of Bloom populating the templates using a .patch. There are some hints on how to edit generated files in Bloom / Tutorials: Changing the default build flags for a package.

gvdhoorn gravatar image gvdhoorn  ( 2021-04-11 13:14:36 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2021-04-21 12:58:25 -0500

tfoote gravatar image

This is by design. We use the default flags from debian.

As @gvdhoorn mentions you can likely patch the build flags. But please don't enable parallel builds for the debians on anything that you publicly release. The buildfarm runs massivly parallel already and we rely on individual packages not using up too many resources. Parallel builds add potential non-determinism due to race conditions which are very hard to debug on the buildfarm. And the straight line speed of the build of any specific package is rarely a gating factor when there's lots of other packages (maybe hundreds) of other packages also being rebuilt. And in the scheme of things parallelizing an individual build will just mean that we can run fewer parallel build packages and thus we're actually not saving any time net. Also very few builds take most of the time in the actual compile stages, they're often IO bound and thus building packages in parallel will actually provide performance improvements.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2021-04-04 21:12:58 -0500

Seen: 252 times

Last updated: Apr 21 '21