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

Odd filenames with auditwheel 4.0 #314

Closed
ShaneHarvey opened this issue Jul 13, 2021 · 2 comments
Closed

Odd filenames with auditwheel 4.0 #314

ShaneHarvey opened this issue Jul 13, 2021 · 2 comments
Labels

Comments

@ShaneHarvey
Copy link

ShaneHarvey commented Jul 13, 2021

Hi, I'm using manylinux docker images to build wheels for pymongo. While working on our release today I noticed that auditwheel was outputting some odd looking filenames. For example:

 [2021/07/13 20:12:45.235] + auditwheel repair dist/pymongo-3.12.0-cp36-cp36m-linux_i686.whl -w dist
 [2021/07/13 20:12:46.137] INFO:auditwheel.main_repair:Repairing pymongo-3.12.0-cp36-cp36m-linux_i686.whl
 [2021/07/13 20:12:46.137] INFO:auditwheel.main_repair:Wheel is eligible for a higher priority tag. You requested manylinux2014_i686 but I have found this wheel is eligible for manylinux_2_5_i686.
 [2021/07/13 20:12:46.181] INFO:auditwheel.wheeltools:Previous filename tags: linux_i686
 [2021/07/13 20:12:46.181] INFO:auditwheel.wheeltools:New filename tags: manylinux_2_5_i686, manylinux1_i686, manylinux_2_17_i686, manylinux2014_i686
 [2021/07/13 20:12:46.182] INFO:auditwheel.wheeltools:Previous WHEEL info tags: cp36-cp36m-linux_i686
 [2021/07/13 20:12:46.182] INFO:auditwheel.wheeltools:New WHEEL info tags: cp36-cp36m-manylinux_2_5_i686, cp36-cp36m-manylinux1_i686, cp36-cp36m-manylinux_2_17_i686, cp36-cp36m-manylinux2014_i686
 [2021/07/13 20:12:46.310] INFO:auditwheel.main_repair:
 [2021/07/13 20:12:46.310] Fixed-up wheel written to /src/dist/pymongo-3.12.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

With auditwheel 3 a single wheel only seems to ever have a single tag in the name, like "pymongo-3.12.0-cp36-cp36m-manylinux1_i686.whl" or "pymongo-3.12.0-cp36-cp36m-manylinux2014_i686.whl". Is pymongo-3.12.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl a proper filename? Does it mean that this wheel is compatible with manylinux_2_5_i686, manylinux1_i686, manylinux_2_17_i686, and manylinux2014_i686?

I see PEP 600 has defined some new tags but I can't find anything about multiple tags. Is this new behavior documented anywhere?

Do all of these look correct?:

pymongo-3.12.0-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl
pymongo-3.12.0-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
pymongo-3.12.0-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl
pymongo-3.12.0-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl
pymongo-3.12.0-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl
pymongo-3.12.0-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
pymongo-3.12.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
pymongo-3.12.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
pymongo-3.12.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl
pymongo-3.12.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
pymongo-3.12.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
pymongo-3.12.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl
pymongo-3.12.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
pymongo-3.12.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
pymongo-3.12.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
pymongo-3.12.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
pymongo-3.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
pymongo-3.12.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
pymongo-3.12.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
pymongo-3.12.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
pymongo-3.12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
pymongo-3.12.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
pymongo-3.12.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
pymongo-3.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
pymongo-3.12.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
pymongo-3.12.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
pymongo-3.12.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
pymongo-3.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
pymongo-3.12.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
pymongo-3.12.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
pymongo-3.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
pymongo-3.12.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
pymongo-3.12.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl
pymongo-3.12.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
@mayeut
Copy link
Member

mayeut commented Jul 14, 2021

Is pymongo-3.12.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl a proper filename?

Yes it's known as a compressed tag set

Does it mean that this wheel is compatible with manylinux_2_5_i686, manylinux1_i686, manylinux_2_17_i686, and manylinux2014_i686?

Yes. From what I'm seeing, the i686 one built on manylinux2014 is also compatible with manylinux1 which does not seem to be the case for x86_64.
The previous behavior was to generate 1 wheel for the requested policy and, if compatible with a previous policy, generate 1 wheel for that. After #289, only 1 wheel is produced c.f. also #281 (comment). With PEP600 adoption, both the PEP600 name and the older alias are used.

Is this new behavior documented anywhere?

As of now, there's no documentation for auditwheel, c.f. #135
One as to follow the multiple links in the release notes #304 to get a better understanding of the new behaviors (it's only very roughly summed up in the release note)

@ShaneHarvey
Copy link
Author

Thank you for answering all my questions!

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

No branches or pull requests

2 participants