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

Update vendored s2 and abseil and update build system #180

Open
paleolimbot opened this issue May 29, 2022 · 3 comments
Open

Update vendored s2 and abseil and update build system #180

paleolimbot opened this issue May 29, 2022 · 3 comments

Comments

@paleolimbot
Copy link
Collaborator

In the last few months there is a new s2 version which contains some exciting things like a spherical buffer (!!): https://github.com/google/s2geometry/releases/tag/v0.10.0.

With our current build system, it's hard to stay current with updates in Abseil and S2. Getting familiar with Arrow's build system has me appreciating how we might be able to do this with cmake. I think the general concept is to

  • keep a copy of Abseil and s2geometry repo checkouts in tools/
  • Have configure run cmake and install static libraries to inst/ kind of like winlibs does for Windows

We might still have to make a few modifications to the S2/Abseil sources but I think that compiling a dependency using cmake has different rules than files in the src/ directory.

(Not for this forthcoming release, but the one after!)

@barracuda156
Copy link

Would be nice to upgrade, because existing versions are hopelessly broken for some archs (PowerPC fails).

@paleolimbot
Copy link
Collaborator Author

Does the latest version of S2 build on PowerPC?

@barracuda156
Copy link

@paleolimbot Not really sure, had no time to implement the build just for the sake of checking (I am interested to have it in R, not standalone), but from a quick look there were some significant changes.

The current version fails on the first s2 own object (after abseil part is built), but R output is horribly unhelpful. I am not sure why exactly it fails, though I suspect that it pulls a wrong assembler instructions from some header.

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

No branches or pull requests

2 participants