RalfG / python-wheels-manylinux-build

GitHub Action to build Python manylinux wheels
https://github.com/marketplace/actions/python-wheels-manylinux-build
Apache License 2.0
92 stars 44 forks source link

`./auditwheel: No such file or directory` in manylinux1 container #24

Closed hroncok closed 4 years ago

hroncok commented 4 years ago

I have the following GitHub action:

https://github.com/kliment/Printrun/pull/1082/files#diff-8efddb34c08d40af8b87450ad25f4cea

The find ... auditwheel call fails with: sh: ./auditwheel: No such file or directory

+ find . -type f -iname '*-linux*.whl' -execdir sh -c 'auditwheel repair '\''{}'\'' -w ./ --plat '\''manylinux1_x86_64'\'' || { echo '\''Repairing wheels failed.'\''; auditwheel show '\''{}'\''; exit 1; }' ';'
sh: ./auditwheel: No such file or directory
Repairing wheels failed.

Printrun-2.0.0rc6-cp37-cp37m-linux_x86_64.whl is consistent with the
following platform tag: "manylinux1_x86_64".

The wheel references external versioned symbols in these system-
provided shared libraries: libc.so.6 with versions {'GLIBC_2.2.5'}

The following external shared libraries are required by the wheel:
{
    "libc.so.6": "/lib64/libc-2.5.so",
    "libpthread.so.0": "/lib64/libpthread-2.5.so"
}

I cannot really see why auditsheel is searched in . rather than on $PATH but is it possible that something is wrong on the docker image?

RalfG commented 4 years ago

There indeed seems to be a bug in the manylinux1 container in the

find . -type f -iname '*-linux*.whl' -execdir sh -c ' auditwheel repair '\''{}'\'' -w ./ --plat '\''manylinux1_x86_64'\'' || { echo '\''Repairing wheels failed.'\''; auditwheel show '\''{}'\''; exit 1; }' ';'

command. I tried to build Printrun with the (default) manylinux2014 container, and this ran without any issues. Auditwheel also converts the manylinux2014 wheel to manylinux1, so the output should be the same between the two containers. Until this bug in the manylinux1 version of the action is fixed, you can use the 2014 container: uses: RalfG/python-wheels-manylinux-build@v0.3.1

hroncok commented 4 years ago

IIRC the output would be both 1 and 2014, but I can try again.

hroncok commented 4 years ago

It indeed produces both and works.