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

Build manylinux wheels Failed #1080

Closed
rbushri opened this issue Jan 19, 2023 · 5 comments
Closed

Build manylinux wheels Failed #1080

rbushri opened this issue Jan 19, 2023 · 5 comments
Labels
bug Something isn't working

Comments

@rbushri
Copy link
Contributor

rbushri commented Jan 19, 2023

Environment

Delta-rs 6.4.0:

Binding:

Environment:

  • Cloud provider:
  • OS: MacOs (2.6 GHz 6-Core Intel Core i7)
  • Other:

Bug

What happened:I try to build manylinux wheels (running these commands):

docker run -e PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig -it -v `pwd`:/io apache/arrow-dev:amd64-centos-6.10-python-manylinux2010 bash
curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
rustup default stable
cargo install --git https://github.com/PyO3/maturin.git --rev 98636cea89c328b3eba4ebb548124f75c8018200 maturin
cd /io/python
export PATH=/opt/python/cp37-cp37m/bin:/opt/python/cp38-cp38/bin:$PATH
maturin publish -b pyo3 --target x86_64-unknown-linux-gnu --no-sdist

but it fails when I try to install maturin:

cargo install --git https://github.com/PyO3/maturin.git --rev 98636cea89c328b3eba4ebb548124f75c8018200 maturin

the error:

/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo)
/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by /root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo)
/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by /root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo)

What you expected to happen:
install maturin running successfully

How to reproduce it:

docker run -e PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig -it -v `pwd`:/io apache/arrow-dev:amd64-centos-6.10-python-manylinux2010 bash
curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
rustup default stable
cargo install --git https://github.com/PyO3/maturin.git --rev 98636cea89c328b3eba4ebb548124f75c8018200 maturin

More details:

@rbushri rbushri added the bug Something isn't working label Jan 19, 2023
@wjones127
Copy link
Collaborator

Hi @rbushri. I don't believe we support manylinux2010 anymore, since we rely on sys calls in newer versions of glibc on Linux. Is manylinux2014 an option for your use case?

@rbushri
Copy link
Contributor Author

rbushri commented Jan 19, 2023

@wjones127 thank you for your reply.
I also tried to build the docker from the image "apache/arrow-dev:amd64-centos-7.7-python-manylinux2014" but when I run make build I get this exception

  Downloaded winapi-i686-pc-windows-gnu v0.4.0
  Downloaded 313 crates (39.3 MB) in 13.33s (largest was `openssl-src` at 5.1 MB)
🍹 Building a mixed python/rust project
🔗 Found pyo3 bindings with abi3 support for Python ≥ 3.7
🐍 Not using a specific python interpreter
   Compiling pyo3-build-config v0.17.3
error: failed to run custom build command for `pyo3-build-config v0.17.3`

Caused by:
  process didn't exit successfully: `/io/target/debug/build/pyo3-build-config-a1f33265c7f439c0/build-script-build` (exit status: 1)
  --- stderr
  /io/target/debug/build/pyo3-build-config-a1f33265c7f439c0/build-script-build: /lib64/libc.so.6: version `GLIBC_2.29' not found (required by /io/target/debug/build/pyo3-build-config-a1f33265c7f439c0/build-script-build)
  /io/target/debug/build/pyo3-build-config-a1f33265c7f439c0/build-script-build: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /io/target/debug/build/pyo3-build-config-a1f33265c7f439c0/build-script-build)
  /io/target/debug/build/pyo3-build-config-a1f33265c7f439c0/build-script-build: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /io/target/debug/build/pyo3-build-config-a1f33265c7f439c0/build-script-build)
  /io/target/debug/build/pyo3-build-config-a1f33265c7f439c0/build-script-build: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /io/target/debug/build/pyo3-build-config-a1f33265c7f439c0/build-script-build)
warning: build failed, waiting for other jobs to finish...
💥 maturin failed
  Caused by: Failed to build a native library through cargo
  Caused by: Cargo build finished with "exit status: 101": `"cargo" "rustc" "--manifest-path" "/io/python/Cargo.toml" "--message-format" "json" "--lib"`
make: *** [build] Error 1

I copied the commands from README.md
What image are you using to build the whl file?

@wjones127
Copy link
Collaborator

Ah sorry those instructions are out of date. We use the maturin GitHub action.

We use quay.io/pypa/manylinux2014_x86_64:latest to build.

Here is the log from our most recent release:

https://github.com/delta-io/delta-rs/actions/runs/3567491762/jobs/5995258692

@rbushri
Copy link
Contributor Author

rbushri commented Jan 22, 2023

I've tried to build whl file with the image quay.io/pypa/manylinux2014_x86_64:latest, but still, I had errors..
can I build a whl file locally for Linux? can you attach the list of commands, plz?

@rbushri rbushri closed this as completed Jan 26, 2023
@wjones127
Copy link
Collaborator

Not sure where you ended up with this @rbushri, but I ended up writing some docs on how to build wheels locally in #1155

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants