-
Notifications
You must be signed in to change notification settings - Fork 239
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
Missing library files at repair step & wheel configuration through pyproject #1981
Comments
It looks like you should use |
The build identifiers don’t include the manylinux docker image variant (like 2014). |
I miss this update. How to specify now the manylinux image to use? |
See the table in the docs for a full list of build identifiers, they don't include the manylinux variant as Henry says.
You can choose the image you want to use with the manylinux-ARCH-image options. It's always been this way 🙃 |
Do you have a link to the repo? I'd start by running |
Thanks a lot for your answers! For the "double build", here is a repo reproducing my setup: https://github.com/marchelbling/wheels/. After re-reading the scikit-build-core documentation:
I'm starting to think that I will not manage to build OpenBabel using the manylinux image as I understand it does not include Python libraries. Am I correct? |
Wheels are not supposed to "embed" Python. Python is already present when are you loading a wheel, so you don't need to link to it, and it could even lock you to the patch release you linked against. So yes, the Python libs are removed when building the manylinux image. See pypa/manylinux#1185 for some context. |
Thank you @henryiii that really helped me! It would have been awesome that the PR was merged but it was not too difficult to apply the PR diff on manylinux main branch. Now my wheel finally builds cleanly except for the "double" build though. |
I actually came across pypa/auditwheel#285. |
Description
First of all, thank you for providing cibw to the community!
Missing library files at repair step
I'm trying to provide a pre-built linux only wheel for OpenBabel. I'm taking inspiration from https://github.com/njzjz/openbabel-wheel which is unfortunately not maintained anymore.
The basic setup is that the repository I build only has a
CMakeLists.txt
that will be used by cibw/scikit-build-core to build the wheel:CMakeLists.txt
My pyproject defines the version and build flags I want to use:
pyproject.toml
and I use Github actions to build everything.
The issue I have is that the wheel builds fine:
truncated install logs
however the auditwheel repair fails as it cannot find libraries since they only live in the wheel file
logs
I believe I must be missing something obvious here but I don't see how to fix the problem except by using a
before-all
action that basically builds the project. This doubles the build time which is not great. Would there be other options that I missed?Wheel configuration through pyproject
Also I'm struggling defining the wheels I want to build. I'm only interested in building
cp311-manylinux2014-x86_64
.When I set my pyproject.toml (which is what I understand as the preferred way) to
it seems that
cibuildwheel
does't pick the configuration and the action run fails withSo I end up defining
CIBW_ARCHS
,CIWB_BUILD
andCIWB_PLATFORM
which I would rather not. Is there some precedence rule that I misunderstood?Thanks a lot for any help!
Build log
No response
CI config
No response
The text was updated successfully, but these errors were encountered: