Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[C++] Remove dependency on boost::filesystem #22969

Closed
asfimport opened this issue Sep 18, 2019 · 7 comments
Closed

[C++] Remove dependency on boost::filesystem #22969

asfimport opened this issue Sep 18, 2019 · 7 comments

Comments

@asfimport
Copy link

asfimport commented Sep 18, 2019

See ARROW-2196 for details.
boost::filesystem should not be required for base functionality at least (including filesystems, probably).

Reporter: Antoine Pitrou / @pitrou
Assignee: Antoine Pitrou / @pitrou

Related issues:

PRs and other links:

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

@asfimport
Copy link
Author

Antoine Pitrou / @pitrou:
boost::filesystem is used in conjuction with boost::process for testing Flight and S3FS. I don't think it's reasonable to reimplement boost::process.

Still, we can try to make boost::filesystem unnecessary if tests are not built.

@asfimport
Copy link
Author

Antoine Pitrou / @pitrou:
@wesm We should perhaps discuss if it's really useful to have bare-bones no-boost build. We will probably end up copy-pasting some boost code along the way.

@asfimport
Copy link
Author

Wes McKinney / @wesm:
I think we should remove Boost as a dependency of the core build. Which may mean not building certain modules (like the code in src/arrow/filesystem) by default. I think that should make things easier

@asfimport
Copy link
Author

Antoine Pitrou / @pitrou:
I've started looking into this. There's some non-trivial Windows-specific code in boost::filesystem to handle reparse points and symlinks. It feels a bit counter-productive to copy/paste it without knowing exactly what it does.

@asfimport
Copy link
Author

Wes McKinney / @wesm:
I would suggest adding a ARROW_FILESYSTEM option, setting it to off by default, then handling the remaining usages of Boost in the core library-only build.

I think it's fine to have boost::filesystem in src/arrow/filesystem. People who are making use of this functionality are probably more OK with accepting additional build dependencies. I would mainly like this stuff to be out of the way of people who are only using Array / ArrayBuilder / RecordBatch and IPC read/write tools

@asfimport
Copy link
Author

Antoine Pitrou / @pitrou:
Much of the functionality is in the core build (see util/io_util.h).

@asfimport
Copy link
Author

Antoine Pitrou / @pitrou:
Issue resolved by pull request 5545
#5545

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants