actions / runner-images

GitHub Actions runner images
MIT License
10.12k stars 3.04k forks source link

Ubuntu 22.04 pip install SharedArray failed #10129

Closed redheli closed 4 months ago

redheli commented 4 months ago

Description

workflow failed when install numpy and SharedArray, two weeks ago, it works I do think the new ubuntu 22.04 version 20240616.1.0 cause the problem

pip install numpy==1.25.2
pip install SharedArray==3.2.3

Platforms affected

Runner images affected

Image version and build link

failed: Version: 20240616.1.0 https://github.com/VentiTech/ml/actions/runs/9661114592/job/26648140921?pr=62

pass: Version: 20240603.1.0 https://github.com/VentiTech/ml/actions/runs/9450467493/job/26029103830?pr=64

Is it regression?

yes, last pass version 20240603.1.0 and link https://github.com/VentiTech/ml/actions/runs/9450467493/job/26029103830?pr=64

Expected behavior

install numpy and SharedArray with no error

pip install numpy==1.25.2
pip install SharedArray==3.2.3

Actual behavior

Building wheel for SharedArray (pyproject.toml): started
  Building wheel for SharedArray (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  × Building wheel for SharedArray (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [28 lines of output]
      running bdist_wheel
      running build
      running build_ext
      building 'SharedArray' extension
      creating build
      creating build/temp.linux-x86_64-cpython-310
      creating build/temp.linux-x86_64-cpython-310/src
      gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-dhcthl2h/overlay/lib/python3.10/site-packages/numpy/_core/include -I/opt/hostedtoolcache/Python/3.10.13/x64/include/python3.10 -c ./src/map_owner.c -o build/temp.linux-x86_64-cpython-310/./src/map_owner.o
      gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-dhcthl2h/overlay/lib/python3.10/site-packages/numpy/_core/include -I/opt/hostedtoolcache/Python/3.10.13/x64/include/python3.10 -c ./src/map_owner_mlock.c -o build/temp.linux-x86_64-cpython-310/./src/map_owner_mlock.o
      gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-dhcthl2h/overlay/lib/python3.10/site-packages/numpy/_core/include -I/opt/hostedtoolcache/Python/3.10.13/x64/include/python3.10 -c ./src/map_owner_msync.c -o build/temp.linux-x86_64-cpython-310/./src/map_owner_msync.o
      gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-dhcthl2h/overlay/lib/python3.10/site-packages/numpy/_core/include -I/opt/hostedtoolcache/Python/3.10.13/x64/include/python3.10 -c ./src/map_owner_munlock.c -o build/temp.linux-x86_64-cpython-310/./src/map_owner_munlock.o
      gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-dhcthl2h/overlay/lib/python3.10/site-packages/numpy/_core/include -I/opt/hostedtoolcache/Python/3.10.13/x64/include/python3.10 -c ./src/shared_array.c -o build/temp.linux-x86_64-cpython-310/./src/shared_array.o
      gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-dhcthl2h/overlay/lib/python3.10/site-packages/numpy/_core/include -I/opt/hostedtoolcache/Python/3.10.13/x64/include/python3.10 -c ./src/shared_array_attach.c -o build/temp.linux-x86_64-cpython-310/./src/shared_array_attach.o
      gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-dhcthl2h/overlay/lib/python3.10/site-packages/numpy/_core/include -I/opt/hostedtoolcache/Python/3.10.13/x64/include/python3.10 -c ./src/shared_array_create.c -o build/temp.linux-x86_64-cpython-310/./src/shared_array_create.o
      ./src/shared_array_create.c: In function ‘do_create’:
      ./src/shared_array_create.c:58:18: error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘elsize’
         58 |         if (dtype->elsize == 0) {
            |                  ^~
      ./src/shared_array_create.c:65:21: error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘elsize’
         65 |         size = dtype->elsize;
            |                     ^~
      ./src/shared_array_create.c:101:31: error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘elsize’
        101 |         meta->itemsize = dtype->elsize;
            |                               ^~
      ./src/shared_array_create.c:115:50: error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘elsize’
        115 |                             NULL, map_addr, dtype->elsize,
            |                                                  ^~
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for SharedArray
  Building wheel for antlr4-python3-runtime (pyproject.toml): started
  Building wheel for antlr4-python3-runtime (pyproject.toml): finished with status 'done'
  Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.9.3-py3-none-any.whl size=144552 sha256=cc4a2bb1f0546754d446764105e9308acd7da354f21bc16c8570584ba0c03139
  Stored in directory: /home/runner/.cache/pip/wheels/12/93/dd/1f6a127edc45659556564c5730f6d4e300888f4bca2d4c5a88
Successfully built easydict fire pycocotools antlr4-python3-runtime
Failed to build SharedArray
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (SharedArray)

Repro steps

here is miminal workflow to reproduce the issue:

name: CI

on:
  pull_request:
    branches:
      - develop

jobs:
  run-unit-tests:
    runs-on: ubuntu-22.04

    strategy:
      matrix:
        python-version: [3.10.13]

    steps:
    - name: Checkout repository
      uses: actions/checkout@v3
      with:
        lfs: true

    - name: Git LFS Pull
      run: git lfs pull

    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python-version }}

    - name: Install dependencies
      run: |
        pip install numpy==1.25.2
        pip install SharedArray==3.2.3
redheli commented 4 months ago

maybe not docker image issue

fixed with --no-build-isolation

pip install wheel==0.43.0
pip install numpy==1.25.2
pip install cython==3.0.10
pip install SharedArray==3.2.3 --no-build-isolation