Ask Your Question

Is it possible to list which boost libraries are depended

asked 2018-04-17 03:03:11 -0500

bear234 gravatar image

I downloaded and installed the ROS Base from source, and I found that some package depended on boost.

For example, in the file package.xml of rospack, I can see the line: <run_depend>boost</run_depend>.

As my understanding, it means that the boost is a dependency of the package rospack.

I'm working on Ubuntu, I execute the command apt install libboost-all-dev to install the boost and it is really huge.

I'm thinking if we really need to install the whole boost. If not, is it possible to know which boost libraries are really needed? For example, if it needs boost-filesystem, I can simply execute apt install libboost-filesystem-dev to install it and it is not that big.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2018-04-17 03:12:36 -0500

gvdhoorn gravatar image

updated 2018-04-17 03:13:44 -0500

Is it possible to list which boost libraries are depended

For Boost specifically: no, not with any of the tools ROS provides for listing/resolving/installing dependencies. That is not a limitation of those tools, but is due to the fact that there is only a single boost rosdep key (this one), and that maps to libboost-all-dev on Ubuntu. If there were rules for each part of Boost individually, then what you suggest could be supported.

One reason I can think of why that is not done is that it introduces a lot of overhead as all these rules will have to be managed, kept up to date, checked for each ROS release and additional OS that gets supported, etc. It might also not be possible to install separate parts of Boost on some platform+OS combinations.

And that is ignoring the fact that developers would also have to figure out which Boost functionality maps to which libraries.

To see which libraries are really needed, you could use ldd.

If you're concerned about the sizes of packages and want/need more control over dependencies you could consider looking at meta-ros.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2018-04-17 03:03:11 -0500

Seen: 428 times

Last updated: Apr 17 '18