Skip to content

manylinux2014-aarch64 uses glibc version not in compliance with PEP599 #443

@AWSjswinney

Description

@AWSjswinney

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:

#
# 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions