Open pechersky opened 1 year ago
The python3.10 build of wasmer_compiler_llvm links to libtinfo-91270aa7.so.5:
readelf -d .../site-packages/wasmer_compiler_llvm/wasmer_compiler_llvm.cpython-310-x86_64-linux-gnu.so | grep .so.
0x0000000000000001 (NEEDED) Shared library: [librt.so.1]
0x0000000000000001 (NEEDED) Shared library: [libdl.so.2]
0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0]
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libz.so.1]
0x0000000000000001 (NEEDED) Shared library: [libtinfo-91270aa7.so.5]
0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6]
0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x0000000000000001 (NEEDED) Shared library: [ld-linux-x86-64.so.2]
I suspect that thats a build artifact as well, and maturin would correct this.
Thanks for proposing a new feature!
Motivation
The current builds (https://github.com/wasmerio/wasmer-python/actions/runs/4852776764/job/13149022773#step:18:11) are at a high ABI:
manylinux_2_34
. This is much higher than ABIs that are still supported, likemanylinux_2_17
. Switching to using an existingmaturin
container will provide a build context that already supplies Python and Rust.Proposed solution
Here is the workflow for building the api and the cranelift (as an example):
Some additional work in necessary to make LLVM builds installable.
Alternatives
This allows the
maturin
team to maintain the containers/toolkit combinations that allow a broadmanylinux
build possible. Alternatives are switching to a different context without using the container. This means, in either case, rewriting thejustfile
.Additional context
Some of the cloud containers out there are on ABIs that are too low for
manylinux_2_34
. Having broader ABIs allows installing these packages in those context too.