-
Notifications
You must be signed in to change notification settings - Fork 161
Open
Description
If I run auditwheel show on my wheel I get the following:
python_wheel-0.1.0-cp313-cp313-linux_x86_64.whl is consistent with the
following platform tag: "linux_x86_64".
The wheel references external versioned symbols in these
system-provided shared libraries: libc.so.6 with versions
{'GLIBC_2.4', 'GLIBC_2.2.5', 'GLIBC_2.32', 'GLIBC_ABI_DT_RELR',
'GLIBC_2.3', 'GLIBC_2.34', 'GLIBC_2.38', 'GLIBC_2.11', 'GLIBC_2.14',
'GLIBC_2.28', 'GLIBC_2.33', 'GLIBC_2.3.4'}, libgcc_s.so.1 with
versions {'GCC_3.0', 'GCC_3.3.1'}, libstdc++.so.6 with versions
{'GLIBCXX_3.4', 'CXXABI_1.3.9', 'GLIBCXX_3.4.29', 'CXXABI_1.3.2',
'GLIBCXX_3.4.18', 'CXXABI_1.3', 'CXXABI_1.3.15', 'GLIBCXX_3.4.21',
'CXXABI_1.3.3', 'CXXABI_1.3.13', 'GLIBCXX_3.4.20', 'CXXABI_1.3.5'},
libz.so.1 with versions {'ZLIB_1.2.3.4'}, libm.so.6 with versions
{'GLIBC_2.29', 'GLIBC_2.2.5'}, libpng16.so.16 with versions
{'PNG16_0'}
This constrains the platform tag to "manylinux_2_39_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.
If I run auditwheel lddtree on my extension module, I get the following:
Output of auditwheel lddtree
INFO:auditwheel.main_lddtree:{
"interpreter": null,
"libc": "<Libc.GLIBC: 'glibc'>",
"path": "_core.cpython-313-x86_64-linux-gnu.so",
"realpath": "_core.cpython-313-x86_64-linux-gnu.so",
"platform": {
"_elf_osabi": "ELFOSABI_SYSV",
"_elf_class": 64,
"_elf_little_endian": true,
"_elf_machine": "EM_X86_64",
"_base_arch": "<Architecture.x86_64: 'x86_64'>",
"_ext_arch": null,
"_error_msg": null
},
"needed": [
"libfreetype.so.6",
"libstdc++.so.6",
"libm.so.6",
"libgcc_s.so.1",
"libc.so.6"
],
"rpath": [],
"runpath": [],
"libraries": {
"libfreetype.so.6": {
"soname": "libfreetype.so.6",
"path": "/lib/libfreetype.so.6",
"realpath": "/lib/libfreetype.so.6.20.4",
"platform": {
"_elf_osabi": "ELFOSABI_SYSV",
"_elf_class": 64,
"_elf_little_endian": true,
"_elf_machine": "EM_X86_64",
"_base_arch": "<Architecture.x86_64: 'x86_64'>",
"_ext_arch": null,
"_error_msg": null
},
"needed": [
"libz.so.1",
"libbz2.so.1.0",
"libpng16.so.16",
"libbrotlidec.so.1",
"libc.so.6"
]
},
"libz.so.1": {
"soname": "libz.so.1",
"path": "/lib/libz.so.1",
"realpath": "/lib/libz.so.1.3.1",
"platform": {
"_elf_osabi": "ELFOSABI_SYSV",
"_elf_class": 64,
"_elf_little_endian": true,
"_elf_machine": "EM_X86_64",
"_base_arch": "<Architecture.x86_64: 'x86_64'>",
"_ext_arch": null,
"_error_msg": null
},
"needed": [
"libc.so.6"
]
},
"libc.so.6": {
"soname": "libc.so.6",
"path": "/lib/libc.so.6",
"realpath": "/lib/libc.so.6",
"platform": {
"_elf_osabi": "ELFOSABI_LINUX",
"_elf_class": 64,
"_elf_little_endian": true,
"_elf_machine": "EM_X86_64",
"_base_arch": "<Architecture.x86_64: 'x86_64'>",
"_ext_arch": null,
"_error_msg": null
},
"needed": [
"ld-linux-x86-64.so.2"
]
},
"ld-linux-x86-64.so.2": {
"soname": "ld-linux-x86-64.so.2",
"path": "/lib/ld-linux-x86-64.so.2",
"realpath": "/lib/ld-linux-x86-64.so.2",
"platform": {
"_elf_osabi": "ELFOSABI_LINUX",
"_elf_class": 64,
"_elf_little_endian": true,
"_elf_machine": "EM_X86_64",
"_base_arch": "<Architecture.x86_64: 'x86_64'>",
"_ext_arch": null,
"_error_msg": null
},
"needed": []
},
"libbz2.so.1.0": {
"soname": "libbz2.so.1.0",
"path": "/lib/libbz2.so.1.0",
"realpath": "/lib/libbz2.so.1.0.8",
"platform": {
"_elf_osabi": "ELFOSABI_SYSV",
"_elf_class": 64,
"_elf_little_endian": true,
"_elf_machine": "EM_X86_64",
"_base_arch": "<Architecture.x86_64: 'x86_64'>",
"_ext_arch": null,
"_error_msg": null
},
"needed": [
"libc.so.6"
]
},
"libpng16.so.16": {
"soname": "libpng16.so.16",
"path": "/lib/libpng16.so.16",
"realpath": "/lib/libpng16.so.16.54.0",
"platform": {
"_elf_osabi": "ELFOSABI_SYSV",
"_elf_class": 64,
"_elf_little_endian": true,
"_elf_machine": "EM_X86_64",
"_base_arch": "<Architecture.x86_64: 'x86_64'>",
"_ext_arch": null,
"_error_msg": null
},
"needed": [
"libz.so.1",
"libm.so.6",
"libc.so.6"
]
},
"libm.so.6": {
"soname": "libm.so.6",
"path": "/lib/libm.so.6",
"realpath": "/lib/libm.so.6",
"platform": {
"_elf_osabi": "ELFOSABI_LINUX",
"_elf_class": 64,
"_elf_little_endian": true,
"_elf_machine": "EM_X86_64",
"_base_arch": "<Architecture.x86_64: 'x86_64'>",
"_ext_arch": null,
"_error_msg": null
},
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libbrotlidec.so.1": {
"soname": "libbrotlidec.so.1",
"path": "/lib/libbrotlidec.so.1",
"realpath": "/lib/libbrotlidec.so.1.2.0",
"platform": {
"_elf_osabi": "ELFOSABI_SYSV",
"_elf_class": 64,
"_elf_little_endian": true,
"_elf_machine": "EM_X86_64",
"_base_arch": "<Architecture.x86_64: 'x86_64'>",
"_ext_arch": null,
"_error_msg": null
},
"needed": [
"libbrotlicommon.so.1",
"libc.so.6"
]
},
"libbrotlicommon.so.1": {
"soname": "libbrotlicommon.so.1",
"path": "/lib/libbrotlicommon.so.1",
"realpath": "/lib/libbrotlicommon.so.1.2.0",
"platform": {
"_elf_osabi": "ELFOSABI_SYSV",
"_elf_class": 64,
"_elf_little_endian": true,
"_elf_machine": "EM_X86_64",
"_base_arch": "<Architecture.x86_64: 'x86_64'>",
"_ext_arch": null,
"_error_msg": null
},
"needed": [
"libc.so.6"
]
},
"libstdc++.so.6": {
"soname": "libstdc++.so.6",
"path": "/lib/libstdc++.so.6",
"realpath": "/lib/libstdc++.so.6.0.34",
"platform": {
"_elf_osabi": "ELFOSABI_LINUX",
"_elf_class": 64,
"_elf_little_endian": true,
"_elf_machine": "EM_X86_64",
"_base_arch": "<Architecture.x86_64: 'x86_64'>",
"_ext_arch": null,
"_error_msg": null
},
"needed": [
"libm.so.6",
"libc.so.6",
"ld-linux-x86-64.so.2",
"libgcc_s.so.1"
]
},
"libgcc_s.so.1": {
"soname": "libgcc_s.so.1",
"path": "/lib/libgcc_s.so.1",
"realpath": "/lib/libgcc_s.so.1",
"platform": {
"_elf_osabi": "ELFOSABI_SYSV",
"_elf_class": 64,
"_elf_little_endian": true,
"_elf_machine": "EM_X86_64",
"_base_arch": "<Architecture.x86_64: 'x86_64'>",
"_ext_arch": null,
"_error_msg": null
},
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
}
}
}
The output of auditwheel lddtree includes libfreetype.so.6. The output of auditwheel show does not. I would expect both outputs to include libfreetype.so.6. I think this is confusing. Maybe I'm misunderstanding something! But I still think this interface could be more intuitive for users.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels