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

ARROW-180 Support PyArrow 13 #168

Merged
merged 33 commits into from
Sep 19, 2023
Merged

Conversation

blink1073
Copy link
Member

No description provided.

@blink1073
Copy link
Member Author

blink1073 commented Sep 7, 2023

This problem has crept up again:

/usr/share/miniconda/envs/mongo_arrow_documentation/lib/python3.9/site-packages/pymongoarrow/lib.cpython-39-x86_64-linux-gnu.so: undefined symbol: _ZN5arrow6StatusC1ENS_10StatusCodeERKSs

It was previously addressed in apache/arrow#18582.

I propose that on Ubuntu in CI, we build the wheels using Docker and then install from the wheel to match how the
PyArrow wheels (and our wheels) are produced.

# Whether to add the GLIBCXX override.
# Arrow's manylinux{2010, 2014} binaries are built with gcc <= 4.8 which predates CXX11 ABI
# - https://uwekorn.com/2019/09/15/how-we-build-apache-arrows-manylinux-wheels.html
ADD_GLIBCXX_OVERRIDE = os.environ.get("MONGO_ADD_GLIBCXX_OVERRIDE", "1")
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was what was causing the issue. The pyarrow wheels are now using manylinux_2_28, which has gcc 12.

@blink1073
Copy link
Member Author

The benchmarks will fail until the next PR, because the newer version of asv is properly failing when a benchmark fails. I've added the appropriate fixes in this PR.

@@ -84,7 +87,7 @@ jobs:

make_sdist:
name: Make SDist
runs-on: ubuntu-latest
runs-on: macos-latest
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Building on macOS instead of Ubuntu?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was an artifact from when Ubuntu wasn't working, but it doesn't matter either way.

@@ -12,7 +12,7 @@ Command Line Tools. Additionally, you need CMake and pkg-config::
$ brew install cmake
$ brew install pkg-config

On Linux, you require gcc 4.8, CMake and pkg-config.
On Linux, you require gcc 12, CMake and pkg-config.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor nitpick, but we should probably change the wording to "installation requires ..."

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

@NoahStapp
Copy link
Collaborator

Looks good, just a few minor comments!

Copy link
Collaborator

@NoahStapp NoahStapp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@blink1073 blink1073 merged commit c6dd78b into mongodb-labs:main Sep 19, 2023
32 of 33 checks passed
@blink1073 blink1073 deleted the ARROW-180 branch September 19, 2023 16:25
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

Successfully merging this pull request may close these issues.

2 participants