Skip to content

[C++] Use bcp to make a slim boost for bundled build #24419

@asfimport

Description

@asfimport

We don't use much of Boost (just system, filesystem, and regex), but when we do a bundled build, we still download and extract all of boost. The tarball itself is 113mb, expanded is over 700mb. This can be slow, and it requires a lot of free disk space that we don't really need.

bcp is a boost tool that lets you extract a subset of boost, resolving any of its necessary dependencies across boost. The savings for us could be huge:

mkdir test
./bcp system.hpp filesystem.hpp regex.hpp test
tar -czf test.tar.gz test/

The resulting tarball is 885K (kilobytes!).

bcp also lets you re-namespace, so this would (IIUC) solve ARROW-4286 as well.

We would need a place to host this tarball, and we would have to updated it whenever we (1) bump the boost version or (2) add a new boost library dependency. This patch would of course include a script that would generate the tarball. Given the small size, we could also consider just vendoring it.

Reporter: Neal Richardson / @nealrichardson
Assignee: Neal Richardson / @nealrichardson

Related issues:

PRs and other links:

Note: This issue was originally created as ARROW-8222. Please see the migration documentation for further details.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions