-
Notifications
You must be signed in to change notification settings - Fork 423
manylinux2014-aarch64 uses glibc version not in compliance with PEP599 #443
Description
In spec document, PEP599, the requirements to ensure the widest compatibility with the most distributions of Linux are described. It states:
If the wheel contains binary executables or shared objects linked against any allowed libraries that also export versioned symbols, they may only depend on the following maximum versions:
- GLIBC_2.17
However, the crosstool-ng configuration file for manylinux2014-aarch64 mentions glibc, version 2.25:
dockcross/manylinux2014-aarch64/crosstool-ng.config
Lines 301 to 306 in 2b8f043
| # | |
| # C-library | |
| # | |
| CT_LIBC="glibc" | |
| CT_LIBC_VERSION="2.25" | |
| CT_LIBC_glibc=y |
Unfortunately, it's not as simple as modifying the configuration file to 2.17. If you do that, rebuilding the container results in this error:
[INFO ] Installing kernel headers
[EXTRA] Installing kernel headers
[EXTRA] Checking installed headers
[INFO ] Installing kernel headers: done in 5.72s (at 05:02)
[INFO ] =================================================================
[INFO ] Installing C library headers & start files
[INFO ] =================================================================
[INFO ] Building for multilib 1/1: ''
[EXTRA] Configuring C library
[ERROR] checking sysdep dirs... configure: error: The aarch64 is not supported.
[ERROR]
[ERROR] >>
[ERROR] >> Build failed in step 'Building for multilib 1/1: '''
[ERROR] >> called in step 'Installing C library headers & start files'
[ERROR] >> called in step '(top-level)'
[ERROR] >>
[ERROR] >> Error happened in: CT_DoExecLog[scripts/functions@338]
[ERROR] >> called from: do_libc_backend_once[scripts/build/libc/glibc.sh@323]
[ERROR] >> called from: CT_IterateMultilibs[scripts/functions@1760]
[ERROR] >> called from: do_libc_backend[scripts/build/libc/glibc.sh@150]
[ERROR] >> called from: do_libc_start_files[scripts/build/libc/glibc.sh@112]
[ERROR] >> called from: main[scripts/crosstool-NG.sh@653]
[ERROR] >>
[ERROR] >> For more info on this error, look at the file: 'build.log'
[ERROR] >> There is a list of known issues, some with workarounds, in:
[ERROR] >> '/dockcross/crosstool/ct-ng/prefix/share/doc/crosstool-ng//B - Known issues.txt'
[ERROR] >>
[ERROR] >> If you feel this is a bug in crosstool-NG, report it at:
[ERROR] >> https://github.com/crosstool-ng/crosstool-ng/issues/
[ERROR] >>
[ERROR] >> Make sure your report includes all the information pertinent to this issue.
[ERROR] >> Read the bug reporting guidelines here:
[ERROR] >> http://crosstool-ng.github.io/support/
[ERROR]
[ERROR] (elapsed: 5:02.88)
[05:03] / gmake: *** [build] Error 1
The command '/bin/sh -c mkdir /dockcross/crosstool && cd /dockcross/crosstool && /dockcross/install-crosstool-ng-toolchain.sh -p "${XCC_PREFIX}" -c /dockcross/crosstool-ng.config && rm -rf /dockcross/crosstool /dockcross/install-crosstool-ng-toolchain.sh && rm -f /opt/rh/devtoolset-9/root/usr/bin/sudo' returned a non-zero code: 2
make: *** [manylinux2014-aarch64] Error 2
I tried a few things to fix this error, including upgrading to the latest version of crosstool-ng, but I haven't been able to figure out how to fix it myself.