sighingnow / libclang

(Unofficial) Release libclang (clang.cindex) on pypi.
https://pypi.org/project/libclang
Other
85 stars 23 forks source link

Use auditwheel to compute the platform tag #30

Closed mayeut closed 2 years ago

mayeut commented 2 years ago

libclang currently publishes a manylinux1 wheel however, it is not compatible with manylinux1. Use auditwheel to compute the correct platform tag.

sighingnow commented 2 years ago

Our goal is the compatibility with manylinux1 to make it as portable as possible. I would verify the detail later.

mayeut commented 2 years ago

At the moment, here is the output of auditwheel:

[root@739578150fa1 ~]# python3.9 -m pip download --no-deps libclang -d wheels
Collecting libclang
  Downloading libclang-14.0.1-py2.py3-none-manylinux1_x86_64.whl (14.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.5/14.5 MB 1.8 MB/s eta 0:00:00
Saved ./wheels/libclang-14.0.1-py2.py3-none-manylinux1_x86_64.whl
Successfully downloaded libclang
WARNING: There was an error checking the latest version of pip.
[root@739578150fa1 ~]# auditwheel show ./wheels/libclang-14.0.1-py2.py3-none-manylinux1_x86_64.whl 

libclang-14.0.1-py2.py3-none-manylinux1_x86_64.whl is consistent with
the following platform tag: "manylinux_2_17_x86_64".

The wheel references external versioned symbols in these
system-provided shared libraries: libm.so.6 with versions
{'GLIBC_2.2.5'}, libz.so.1 with versions {'ZLIB_1.2.0'}, libc.so.6
with versions {'GLIBC_2.14', 'GLIBC_2.3.4', 'GLIBC_2.2.5',
'GLIBC_2.11', 'GLIBC_2.3', 'GLIBC_2.17', 'GLIBC_2.15', 'GLIBC_2.6',
'GLIBC_2.4'}, libpthread.so.0 with versions {'GLIBC_2.2.5'},
libdl.so.2 with versions {'GLIBC_2.2.5'}

This constrains the platform tag to "manylinux_2_17_x86_64". In order
to achieve a more compatible tag, you would need to recompile a new
wheel from source on a system with earlier versions of these
libraries, such as a recent manylinux image.
sighingnow commented 2 years ago

Hi @mayeut,

I have merged a pull request #31 to build the linux amd64 artifacts using the manylinux2010 container. The next release will be llvm v14.0.6 and will be delivered this weekend.