scikit-build / ninja-python-distributions

This project provides the infrastructure to build Ninja Python wheels.
Apache License 2.0
57 stars 14 forks source link

ERROR: Could not build wheels for ninja #226

Open AnatolySh opened 9 months ago

AnatolySh commented 9 months ago

The problem:

I'm trying to install ninja in a Docker container on an arm32v7/debian image which doesn't have a corresponding wheel on PyPi and I am getting an error during the build process. Currently I'm using python 3.9 and pip 23.3.1 I tried different versions of either of them and got the same result

Dockerfile:

FROM arm32v7/debian:bullseye

ENV DEBIAN_FRONTEND=noninteractive

RUN \
    apt-get update --yes && \
    apt-get install --no-install-recommends --yes \
        build-essential cmake bison flex re2c binutils \
        fakeroot file ca-certificates \
        subversion git \
        binutils-arm-linux-gnueabihf \
        pkg-config libtool automake autoconf \
        python python3-pip zlib1g-dev libxrandr-dev \
        libdrm-dev libxdamage-dev libxcb-glx0-dev libxcb-shm0-dev \
        libx11-xcb-dev libxcb-dri2-0-dev libxcb-dri3-dev \
        libxcb-present-dev libxshmfence-dev libxxf86vm-dev

RUN python3 -m pip install --upgrade pip
RUN python3 -m pip install --upgrade setuptools
RUN python3 -m pip install --upgrade wheel
RUN python3 -m pip install --upgrade scikit-build

RUN python3 -m pip install ninja --verbose

Console output:

[+] Building 439.2s (11/11) FINISHED                                                                                                                                                                                                                     docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                                                                                                                                                                                     0.0s
 => => transferring dockerfile: 867B                                                                                                                                                                                                                                     0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                                                        0.0s
 => => transferring context: 2B                                                                                                                                                                                                                                          0.0s
 => [internal] load metadata for docker.io/arm32v7/debian:bullseye                                                                                                                                                                                                       1.6s
 => [auth] arm32v7/debian:pull token for registry-1.docker.io                                                                                                                                                                                                            0.0s
 => [1/7] FROM docker.io/arm32v7/debian:bullseye@sha256:bede2623dae269454c5b6dd4af15a10810a5f4ef75963d4eb6531628f98bd633                                                                                                                                                 0.0s
 => CACHED [2/7] RUN     apt-get update --yes &&     apt-get install --no-install-recommends --yes         build-essential cmake bison flex re2c binutils         fakeroot file ca-certificates         subversion git         binutils-arm-linux-gnueabihf         pkg  0.0s
 => CACHED [3/7] RUN python3 -m pip install --upgrade pip                                                                                                                                                                                                                0.0s
 => CACHED [4/7] RUN python3 -m pip install --upgrade setuptools                                                                                                                                                                                                         0.0s
 => CACHED [5/7] RUN python3 -m pip install --upgrade wheel                                                                                                                                                                                                              0.0s
 => CACHED [6/7] RUN python3 -m pip install --upgrade scikit-build                                                                                                                                                                                                       0.0s
 => ERROR [7/7] RUN python3 -m pip install ninja --verbose                                                                                                                                                                                                             437.6s
------                                                                                                                                                                                                                                                                        
 > [7/7] RUN python3 -m pip install ninja --verbose:                                                                                                                                                                                                                          
1.604 Using pip 23.3.1 from /usr/local/lib/python3.9/dist-packages/pip (python 3.9)                                                                                                                                                                                           
2.285 Collecting ninja                                                                                                                                                                                                                                                        
2.584   Downloading ninja-1.11.1.1.tar.gz (132 kB)                                                                                                                                                                                                                            
2.897      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 132.4/132.4 kB 458.9 kB/s eta 0:00:00                                                                                                                                                                                        
2.977   Installing build dependencies: started
2.978   Running command pip subprocess to install build dependencies
5.822   Collecting setuptools>=42
5.831     Using cached setuptools-68.2.2-py3-none-any.whl.metadata (6.3 kB)
5.975   Collecting scikit-build
5.983     Using cached scikit_build-0.17.6-py3-none-any.whl.metadata (14 kB)
6.333   Collecting setuptools-scm[toml]
6.543     Downloading setuptools_scm-8.0.4-py3-none-any.whl.metadata (6.4 kB)
6.973   Collecting packaging>=20 (from setuptools-scm[toml])
6.981     Using cached packaging-23.2-py3-none-any.whl.metadata (3.2 kB)
7.119   Collecting typing-extensions (from setuptools-scm[toml])
7.185     Downloading typing_extensions-4.8.0-py3-none-any.whl.metadata (3.0 kB)
7.318   Collecting tomli>=1 (from setuptools-scm[toml])
7.324     Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
7.583   Collecting distro (from scikit-build)
7.590     Using cached distro-1.8.0-py3-none-any.whl (20 kB)
7.806   Collecting wheel>=0.32.0 (from scikit-build)
7.813     Using cached wheel-0.41.3-py3-none-any.whl.metadata (2.2 kB)
7.880   Using cached setuptools-68.2.2-py3-none-any.whl (807 kB)
7.893   Using cached scikit_build-0.17.6-py3-none-any.whl (84 kB)
7.900   Using cached packaging-23.2-py3-none-any.whl (53 kB)
7.908   Using cached wheel-0.41.3-py3-none-any.whl (65 kB)
7.958   Downloading setuptools_scm-8.0.4-py3-none-any.whl (42 kB)
8.026      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.1/42.1 kB 686.9 kB/s eta 0:00:00
8.084   Downloading typing_extensions-4.8.0-py3-none-any.whl (31 kB)
8.813   Installing collected packages: wheel, typing-extensions, tomli, setuptools, packaging, distro, setuptools-scm, scikit-build
11.24   Successfully installed distro-1.8.0 packaging-23.2 scikit-build-0.17.6 setuptools-68.2.2 setuptools-scm-8.0.4 tomli-2.0.1 typing-extensions-4.8.0 wheel-0.41.3
11.24   WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
11.36   Installing build dependencies: finished with status 'done'
11.37   Getting requirements to build wheel: started
11.37   Running command Getting requirements to build wheel
12.27   /tmp/pip-build-env-174q2c58/overlay/lib/python3.9/site-packages/setuptools_scm/git.py:308: UserWarning: git archive did not support describe output
12.27     warnings.warn("git archive did not support describe output")
12.27   /tmp/pip-build-env-174q2c58/overlay/lib/python3.9/site-packages/setuptools_scm/git.py:327: UserWarning: unprocessed git archival found (no export subst applied)
12.28     warnings.warn("unprocessed git archival found (no export subst applied)")
12.41   running egg_info
12.41   writing src/ninja.egg-info/PKG-INFO
12.42   writing dependency_links to src/ninja.egg-info/dependency_links.txt
12.42   writing entry points to src/ninja.egg-info/entry_points.txt
12.43   writing requirements to src/ninja.egg-info/requires.txt
12.43   writing top-level names to src/ninja.egg-info/top_level.txt
12.49   ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
12.49   reading manifest file 'src/ninja.egg-info/SOURCES.txt'
12.50   reading manifest template 'MANIFEST.in'
12.50   warning: no previously-included files matching '*' found under directory '_skbuild'
12.50   warning: no previously-included files matching '*' found under directory 'Ninja-src'
12.50   warning: no files found matching 'versioneer.py'
12.50   adding license file 'LICENSE_Apache_20'
12.50   adding license file 'AUTHORS.rst'
12.51   writing manifest file 'src/ninja.egg-info/SOURCES.txt'
12.56   Getting requirements to build wheel: finished with status 'done'
12.57   Preparing metadata (pyproject.toml): started
12.57   Running command Preparing metadata (pyproject.toml)
13.48   /tmp/pip-build-env-174q2c58/overlay/lib/python3.9/site-packages/setuptools_scm/git.py:308: UserWarning: git archive did not support describe output
13.48     warnings.warn("git archive did not support describe output")
13.48   /tmp/pip-build-env-174q2c58/overlay/lib/python3.9/site-packages/setuptools_scm/git.py:327: UserWarning: unprocessed git archival found (no export subst applied)
13.48     warnings.warn("unprocessed git archival found (no export subst applied)")
13.59   running dist_info
13.60   creating /tmp/pip-modern-metadata-j639jt5h/ninja.egg-info
13.60   writing /tmp/pip-modern-metadata-j639jt5h/ninja.egg-info/PKG-INFO
13.61   writing dependency_links to /tmp/pip-modern-metadata-j639jt5h/ninja.egg-info/dependency_links.txt
13.61   writing entry points to /tmp/pip-modern-metadata-j639jt5h/ninja.egg-info/entry_points.txt
13.62   writing requirements to /tmp/pip-modern-metadata-j639jt5h/ninja.egg-info/requires.txt
13.62   writing top-level names to /tmp/pip-modern-metadata-j639jt5h/ninja.egg-info/top_level.txt
13.62   writing manifest file '/tmp/pip-modern-metadata-j639jt5h/ninja.egg-info/SOURCES.txt'
13.67   ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
13.68   reading manifest file '/tmp/pip-modern-metadata-j639jt5h/ninja.egg-info/SOURCES.txt'
13.68   reading manifest template 'MANIFEST.in'
13.68   warning: no previously-included files matching '*' found under directory '_skbuild'
13.68   warning: no previously-included files matching '*' found under directory 'Ninja-src'
13.68   warning: no files found matching 'versioneer.py'
13.68   adding license file 'LICENSE_Apache_20'
13.69   adding license file 'AUTHORS.rst'
13.69   writing manifest file '/tmp/pip-modern-metadata-j639jt5h/ninja.egg-info/SOURCES.txt'
13.69   creating '/tmp/pip-modern-metadata-j639jt5h/ninja-1.11.1.1.dist-info'
13.75   Preparing metadata (pyproject.toml): finished with status 'done'
13.79 Building wheels for collected packages: ninja
13.79   Building wheel for ninja (pyproject.toml): started
13.80   Running command Building wheel for ninja (pyproject.toml)
14.69   /tmp/pip-build-env-174q2c58/overlay/lib/python3.9/site-packages/setuptools_scm/git.py:308: UserWarning: git archive did not support describe output
14.69     warnings.warn("git archive did not support describe output")
14.69   /tmp/pip-build-env-174q2c58/overlay/lib/python3.9/site-packages/setuptools_scm/git.py:327: UserWarning: unprocessed git archival found (no export subst applied)
14.69     warnings.warn("unprocessed git archival found (no export subst applied)")
14.84 
14.84 
14.84   --------------------------------------------------------------------------------
14.85   -- Trying 'Ninja' generator
14.85   --------------------------------
14.85   ---------------------------
14.85   ----------------------
14.85   -----------------
14.85   ------------
14.85   -------
14.85   --
14.93   Not searching for unused variables given on the command line.
15.02   CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
15.02   -- Configuring incomplete, errors occurred!
15.02   See also "/tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce/_cmake_test_compile/build/CMakeFiles/CMakeOutput.log".
15.04   --
15.04   -------
15.04   ------------
15.04   -----------------
15.04   ----------------------
15.04   ---------------------------
15.04   --------------------------------
15.04   -- Trying 'Ninja' generator - failure
15.04   --------------------------------------------------------------------------------
15.04 
15.04 
15.04 
15.05   --------------------------------------------------------------------------------
15.05   -- Trying 'Unix Makefiles' generator
15.05   --------------------------------
15.05   ---------------------------
15.05   ----------------------
15.05   -----------------
15.05   ------------
15.05   -------
15.05   --
15.13   Not searching for unused variables given on the command line.
15.85   -- The C compiler identification is GNU 10.2.1
15.92   -- Detecting C compiler ABI info
16.74   -- Detecting C compiler ABI info - done
16.84   -- Check for working C compiler: /usr/bin/cc - skipped
16.84   -- Detecting C compile features
16.84   -- Detecting C compile features - done
17.50   -- The CXX compiler identification is GNU 10.2.1
17.56   -- Detecting CXX compiler ABI info
18.37   -- Detecting CXX compiler ABI info - done
18.46   -- Check for working CXX compiler: /usr/bin/c++ - skipped
18.47   -- Detecting CXX compile features
18.47   -- Detecting CXX compile features - done
18.48   -- Configuring done
18.48   -- Generating done
18.49   -- Build files have been written to: /tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce/_cmake_test_compile/build
18.50   --
18.50   -------
18.50   ------------
18.50   -----------------
18.50   ----------------------
18.50   ---------------------------
18.50   --------------------------------
18.50   -- Trying 'Unix Makefiles' generator - success
18.50   --------------------------------------------------------------------------------
18.50 
18.51   Configuring Project
18.51     Working directory:
18.51       /tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce/_skbuild/linux-armv7l-3.9/cmake-build
18.51     Command:
18.51       /usr/bin/cmake /tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce/_skbuild/linux-armv7l-3.9/cmake-install -DPYTHON_VERSION_STRING:STRING=3.9.2 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/tmp/pip-build-env-174q2c58/overlay/lib/python3.9/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython_EXECUTABLE:PATH=/usr/bin/python3 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.9 -DPython3_EXECUTABLE:PATH=/usr/bin/python3 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.9 -DCMAKE_BUILD_TYPE:STRING=Release
18.51 
18.59   Not searching for unused variables given on the command line.
19.19   -- The C compiler identification is GNU 10.2.1
19.80   -- The CXX compiler identification is GNU 10.2.1
19.86   -- Detecting C compiler ABI info
20.64   -- Detecting C compiler ABI info - done
20.73   -- Check for working C compiler: /usr/bin/cc - skipped
20.73   -- Detecting C compile features
20.73   -- Detecting C compile features - done
20.75   -- Detecting CXX compiler ABI info
21.54   -- Detecting CXX compiler ABI info - done
21.63   -- Check for working CXX compiler: /usr/bin/c++ - skipped
21.63   -- Detecting CXX compile features
21.63   -- Detecting CXX compile features - done
21.64   -- *********************************************
21.64   -- Ninja Python Distribution
21.64   --
21.64   --   BUILD_VERBOSE             : OFF
21.64   --   RUN_NINJA_TEST            : ON
21.64   --
21.64   --   ARCHIVE_DOWNLOAD_DIR      : /tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce/_skbuild/linux-armv7l-3.9/cmake-build
21.64   --
21.64   --     src_archive             : unix_source
21.64   --     <src_archive>_url       : https://github.com/Kitware/ninja/archive/v1.11.1.g95dee.kitware.jobserver-1.tar.gz
21.65   --     <src_archive>_sha256    : 7ba84551f5b315b4270dc7c51adef5dff83a2154a3665a6c9744245c122dd0db
21.65   -- *********************************************
21.80   -- download_ninja_source - URL: https://github.com/Kitware/ninja/archive/v1.11.1.g95dee.kitware.jobserver-1.tar.gz
21.80   -- SuperBuild - CMAKE_BUILD_TYPE: Release
21.90   -- Configuring done
21.93   -- Generating done
21.94   -- Build files have been written to: /tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce/_skbuild/linux-armv7l-3.9/cmake-build
22.32   Scanning dependencies of target download_ninja_source
22.41   [  5%] Creating directories for 'download_ninja_source'
22.87   [ 11%] Performing download step (download, verify and extract) for 'download_ninja_source'
22.95   -- Downloading...
22.96      dst='/tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce/_skbuild/linux-armv7l-3.9/cmake-build/v1.11.1.g95dee.kitware.jobserver-1.tar.gz'
22.96      timeout='none'
22.96   -- Using src='https://github.com/Kitware/ninja/archive/v1.11.1.g95dee.kitware.jobserver-1.tar.gz'
26.44   -- verifying file...
26.44          file='/tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce/_skbuild/linux-armv7l-3.9/cmake-build/v1.11.1.g95dee.kitware.jobserver-1.tar.gz'
26.45   -- Downloading... done
26.65   -- extracting...
26.65        src='/tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce/_skbuild/linux-armv7l-3.9/cmake-build/v1.11.1.g95dee.kitware.jobserver-1.tar.gz'
26.65        dst='/tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce/Ninja-src'
26.65   -- extracting... [tar xfz]
26.77   -- extracting... [analysis]
26.77   -- extracting... [rename]
26.77   -- extracting... [clean up]
26.77   -- extracting... done
26.92   [ 16%] No update step for 'download_ninja_source'
27.10   [ 22%] No patch step for 'download_ninja_source'
27.29   [ 27%] No configure step for 'download_ninja_source'
27.50   [ 33%] No build step for 'download_ninja_source'
27.72   [ 38%] No install step for 'download_ninja_source'
27.93   [ 44%] Completed 'download_ninja_source'
28.17   [ 44%] Built target download_ninja_source
28.30   Scanning dependencies of target build_ninja
28.41   [ 50%] Creating directories for 'build_ninja'
28.90   [ 55%] No download step for 'build_ninja'
29.12   [ 61%] No update step for 'build_ninja'
29.33   [ 66%] No patch step for 'build_ninja'
29.51   [ 72%] Performing configure step for 'build_ninja'
29.60   loading initial cache file /tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce/_skbuild/linux-armv7l-3.9/cmake-build/build_ninja-prefix/tmp/build_ninja-cache-Release.cmake
30.32   -- The C compiler identification is GNU 10.2.1
30.95   -- The CXX compiler identification is GNU 10.2.1
31.02   -- Detecting C compiler ABI info
31.83   -- Detecting C compiler ABI info - done
31.92   -- Check for working C compiler: /usr/bin/cc - skipped
31.92   -- Detecting C compile features
31.93   -- Detecting C compile features - done
31.95   -- Detecting CXX compiler ABI info
32.84   -- Detecting CXX compiler ABI info - done
32.93   -- Check for working CXX compiler: /usr/bin/c++ - skipped
32.93   -- Detecting CXX compile features
32.94   -- Detecting CXX compile features - done
37.96   -- IPO / LTO enabled
37.97   -- Performing Test flag_no_deprecated
38.72   -- Performing Test flag_no_deprecated - Success
38.72   -- Performing Test flag_color_diag
39.47   -- Performing Test flag_color_diag - Success
39.57   -- Looking for fork
40.34   -- Looking for fork - found
40.34   -- Looking for pipe
41.10   -- Looking for pipe - found
41.15   -- Configuring done
41.35   -- Generating done
41.36   -- Build files have been written to: /tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce/_skbuild/linux-armv7l-3.9/cmake-build/Ninja-build
41.51   [ 77%] Performing build step for 'build_ninja'
41.82   [  1%] Generating lexer.cc
41.95   [  2%] Generating depfile_parser.cc
42.08   Scanning dependencies of target libninja-re2c
42.18   [  4%] Building CXX object CMakeFiles/libninja-re2c.dir/depfile_parser.cc.o
44.05   [  5%] Building CXX object CMakeFiles/libninja-re2c.dir/lexer.cc.o
46.17   [  5%] Built target libninja-re2c
46.31   Scanning dependencies of target libninja
46.42   [  7%] Building CXX object CMakeFiles/libninja.dir/src/build_log.cc.o
50.01   [  8%] Building CXX object CMakeFiles/libninja.dir/src/build.cc.o
55.84   [ 10%] Building CXX object CMakeFiles/libninja.dir/src/clean.cc.o
59.49   [ 11%] Building CXX object CMakeFiles/libninja.dir/src/clparser.cc.o
61.63   [ 13%] Building CXX object CMakeFiles/libninja.dir/src/dyndep.cc.o
64.66   [ 14%] Building CXX object CMakeFiles/libninja.dir/src/dyndep_parser.cc.o
67.94   [ 15%] Building CXX object CMakeFiles/libninja.dir/src/debug_flags.cc.o
68.23   [ 17%] Building CXX object CMakeFiles/libninja.dir/src/deps_log.cc.o
71.21   [ 18%] Building CXX object CMakeFiles/libninja.dir/src/disk_interface.cc.o
73.30   [ 20%] Building CXX object CMakeFiles/libninja.dir/src/edit_distance.cc.o
74.99   [ 21%] Building CXX object CMakeFiles/libninja.dir/src/eval_env.cc.o
77.91   [ 23%] Building CXX object CMakeFiles/libninja.dir/src/graph.cc.o
82.09   [ 24%] Building CXX object CMakeFiles/libninja.dir/src/graphviz.cc.o
84.75   [ 26%] Building CXX object CMakeFiles/libninja.dir/src/json.cc.o
86.13   [ 27%] Building CXX object CMakeFiles/libninja.dir/src/line_printer.cc.o
87.81   [ 28%] Building CXX object CMakeFiles/libninja.dir/src/manifest_parser.cc.o
91.32   [ 30%] Building CXX object CMakeFiles/libninja.dir/src/metrics.cc.o
93.08   [ 31%] Building CXX object CMakeFiles/libninja.dir/src/missing_deps.cc.o
97.68   [ 33%] Building CXX object CMakeFiles/libninja.dir/src/parser.cc.o
99.55   [ 34%] Building CXX object CMakeFiles/libninja.dir/src/state.cc.o
103.4   [ 36%] Building CXX object CMakeFiles/libninja.dir/src/status.cc.o
106.4   [ 37%] Building CXX object CMakeFiles/libninja.dir/src/string_piece_util.cc.o
108.3   [ 39%] Building CXX object CMakeFiles/libninja.dir/src/tokenpool-gnu-make.cc.o
109.8   [ 40%] Building CXX object CMakeFiles/libninja.dir/src/util.cc.o
113.6   [ 42%] Building CXX object CMakeFiles/libninja.dir/src/version.cc.o
115.0   [ 43%] Building CXX object CMakeFiles/libninja.dir/src/subprocess-posix.cc.o
117.2   [ 44%] Building CXX object CMakeFiles/libninja.dir/src/tokenpool-gnu-make-posix.cc.o
117.9   [ 44%] Built target libninja
118.0   Scanning dependencies of target manifest_parser_perftest
118.1   [ 46%] Building CXX object CMakeFiles/manifest_parser_perftest.dir/src/manifest_parser_perftest.cc.o
121.1   [ 47%] Linking CXX executable manifest_parser_perftest
133.3   [ 47%] Built target manifest_parser_perftest
133.4   Scanning dependencies of target hash_collision_bench
133.5   [ 49%] Building CXX object CMakeFiles/hash_collision_bench.dir/src/hash_collision_bench.cc.o
135.6   [ 50%] Linking CXX executable hash_collision_bench
138.3   [ 50%] Built target hash_collision_bench
138.4   Scanning dependencies of target depfile_parser_perftest
138.5   [ 52%] Building CXX object CMakeFiles/depfile_parser_perftest.dir/src/depfile_parser_perftest.cc.o
140.3   [ 53%] Linking CXX executable depfile_parser_perftest
143.2   [ 53%] Built target depfile_parser_perftest
143.4   Scanning dependencies of target clparser_perftest
143.5   [ 55%] Building CXX object CMakeFiles/clparser_perftest.dir/src/clparser_perftest.cc.o
145.2   [ 56%] Linking CXX executable clparser_perftest
148.5   [ 56%] Built target clparser_perftest
148.6   Scanning dependencies of target canon_perftest
148.7   [ 57%] Building CXX object CMakeFiles/canon_perftest.dir/src/canon_perftest.cc.o
150.3   [ 59%] Linking CXX executable canon_perftest
152.7   [ 59%] Built target canon_perftest
152.8   Scanning dependencies of target ninja_test
152.9   [ 60%] Building CXX object CMakeFiles/ninja_test.dir/src/build_log_test.cc.o
156.3   [ 62%] Building CXX object CMakeFiles/ninja_test.dir/src/build_test.cc.o
166.6   [ 63%] Building CXX object CMakeFiles/ninja_test.dir/src/clean_test.cc.o
170.9   [ 65%] Building CXX object CMakeFiles/ninja_test.dir/src/clparser_test.cc.o
173.8   [ 66%] Building CXX object CMakeFiles/ninja_test.dir/src/depfile_parser_test.cc.o
177.3   [ 68%] Building CXX object CMakeFiles/ninja_test.dir/src/deps_log_test.cc.o
180.8   [ 69%] Building CXX object CMakeFiles/ninja_test.dir/src/disk_interface_test.cc.o
184.5   [ 71%] Building CXX object CMakeFiles/ninja_test.dir/src/dyndep_parser_test.cc.o
188.3   [ 72%] Building CXX object CMakeFiles/ninja_test.dir/src/edit_distance_test.cc.o
190.9   [ 73%] Building CXX object CMakeFiles/ninja_test.dir/src/graph_test.cc.o
195.9   [ 75%] Building CXX object CMakeFiles/ninja_test.dir/src/json_test.cc.o
198.6   [ 76%] Building CXX object CMakeFiles/ninja_test.dir/src/lexer_test.cc.o
201.3   [ 78%] Building CXX object CMakeFiles/ninja_test.dir/src/manifest_parser_test.cc.o
205.6   [ 79%] Building CXX object CMakeFiles/ninja_test.dir/src/missing_deps_test.cc.o
209.4   [ 81%] Building CXX object CMakeFiles/ninja_test.dir/src/ninja_test.cc.o
212.1   [ 82%] Building CXX object CMakeFiles/ninja_test.dir/src/state_test.cc.o
215.1   [ 84%] Building CXX object CMakeFiles/ninja_test.dir/src/string_piece_util_test.cc.o
218.0   [ 85%] Building CXX object CMakeFiles/ninja_test.dir/src/subprocess_test.cc.o
221.1   [ 86%] Building CXX object CMakeFiles/ninja_test.dir/src/test.cc.o
225.2   [ 88%] Building CXX object CMakeFiles/ninja_test.dir/src/tokenpool_test.cc.o
227.9   [ 89%] Building CXX object CMakeFiles/ninja_test.dir/src/util_test.cc.o
230.8   [ 91%] Linking CXX executable ninja_test
375.9   [ 91%] Built target ninja_test
376.0   [ 92%] Generating build/browse_py.h
376.3   Scanning dependencies of target ninja
376.4   [ 94%] Building CXX object CMakeFiles/ninja.dir/src/ninja.cc.o
382.0   [ 95%] Building CXX object CMakeFiles/ninja.dir/src/browse.cc.o
383.2   [ 97%] Linking CXX executable ninja
420.5   [ 97%] Built target ninja
420.6   Scanning dependencies of target build_log_perftest
420.7   [ 98%] Building CXX object CMakeFiles/build_log_perftest.dir/src/build_log_perftest.cc.o
423.6   [100%] Linking CXX executable build_log_perftest
435.9   [100%] Built target build_log_perftest
436.0   [ 83%] Stripping CMake executables
436.1   [ 88%] Running Ninja test suite
437.3   gmake[2]: *** [CMakeFiles/build_ninja.dir/build.make:143: build_ninja-prefix/src/build_ninja-stamp/build_ninja-run_ninja_test_suite] Error 130
437.3   gmake[1]: *** [CMakeFiles/Makefile2:97: CMakeFiles/build_ninja.dir/all] Error 2
437.3   gmake: *** [Makefile:149: all] Error 2
437.3   Traceback (most recent call last):
437.3     File "/tmp/pip-build-env-174q2c58/overlay/lib/python3.9/site-packages/skbuild/setuptools_wrap.py", line 674, in setup
437.3       cmkr.make(make_args, install_target=cmake_install_target, env=env)
437.3     File "/tmp/pip-build-env-174q2c58/overlay/lib/python3.9/site-packages/skbuild/cmaker.py", line 697, in make
437.3       self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env)
437.3     File "/tmp/pip-build-env-174q2c58/overlay/lib/python3.9/site-packages/skbuild/cmaker.py", line 742, in make_impl
437.3       raise SKBuildError(msg)
437.3 
437.3   An error occurred while building with CMake.
437.3     Command:
437.3       /usr/bin/cmake --build . --target install --config Release --
437.3     Install target:
437.3       install
437.3     Source directory:
437.3       /tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce
437.3     Working directory:
437.3       /tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce/_skbuild/linux-armv7l-3.9/cmake-build
437.3   Please check the install target is valid and see CMake's output for more information.
437.3 
437.4   error: subprocess-exited-with-error
437.4   
437.4   × Building wheel for ninja (pyproject.toml) did not run successfully.
437.4   │ exit code: 1
437.4   ╰─> See above for output.
437.4   
437.4   note: This error originates from a subprocess, and is likely not a problem with pip.
437.4   full command: /usr/bin/python3 /usr/local/lib/python3.9/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /tmp/tmpdw_4oh6w
437.4   cwd: /tmp/pip-install-db8u1c7g/ninja_caee880361904b2eb54024d544948cce
437.4   Building wheel for ninja (pyproject.toml): finished with status 'error'
437.4   ERROR: Failed building wheel for ninja
437.4 Failed to build ninja
437.4 ERROR: Could not build wheels for ninja, which is required to install pyproject.toml-based projects
------
Dockerfile:23
--------------------
  21 |     RUN python3 -m pip install --upgrade scikit-build
  22 |     
  23 | >>> RUN python3 -m pip install ninja --verbose
--------------------
ERROR: failed to solve: process "/bin/sh -c python3 -m pip install ninja --verbose" did not complete successfully: exit code: 1
KumaTea commented 9 months ago

I’m building ninja in a RISC-V riscv64 container and it outputs the exactly same error.

By my testing the latest version on ninja that can be successfully built is 1.10.2.3. Errors start at 1.10.2.4.

By the way, apt install ninja-build might also be an alternative option.

guerda commented 7 months ago

I have the same issue on Raspberry Pi 4, with Python 3.10 in a pipenv. For me, 1.10.2.3 doesn't work either.

[pipenv.exceptions.InstallError]: Collecting ninja==1.11.1.1 (from -r /tmp/pipenv-6ty1o75f-requirements/pipenv-quit4dpn-hashed-reqs.txt (line 1))
[pipenv.exceptions.InstallError]:   Using cached ninja-1.11.1.1.tar.gz (132 kB)
[pipenv.exceptions.InstallError]:   Installing build dependencies: started
[pipenv.exceptions.InstallError]:   Installing build dependencies: finished with status 'done'
[pipenv.exceptions.InstallError]:   Getting requirements to build wheel: started
[pipenv.exceptions.InstallError]:   Getting requirements to build wheel: finished with status 'done'
[pipenv.exceptions.InstallError]:   Preparing metadata (pyproject.toml): started
[pipenv.exceptions.InstallError]:   Preparing metadata (pyproject.toml): finished with status 'done'
[pipenv.exceptions.InstallError]: Building wheels for collected packages: ninja
[pipenv.exceptions.InstallError]:   Building wheel for ninja (pyproject.toml): started
[pipenv.exceptions.InstallError]:   Building wheel for ninja (pyproject.toml): finished with status 'error'
[pipenv.exceptions.InstallError]: Failed to build ninja
[pipenv.exceptions.InstallError]: error: subprocess-exited-with-error
[pipenv.exceptions.InstallError]:
[pipenv.exceptions.InstallError]:   × Building wheel for ninja (pyproject.toml) did not run successfully.
[pipenv.exceptions.InstallError]:   │ exit code: 1
[pipenv.exceptions.InstallError]:   ╰─> [13 lines of output]
[pipenv.exceptions.InstallError]:       /tmp/pip-build-env-69ro1t0h/overlay/lib/python3.10/site-packages/setuptools_scm/git.py:308: UserWarning: git archive did not support describe output
[pipenv.exceptions.InstallError]:         warnings.warn("git archive did not support describe output")
[pipenv.exceptions.InstallError]:       /tmp/pip-build-env-69ro1t0h/overlay/lib/python3.10/site-packages/setuptools_scm/git.py:327: UserWarning: unprocessed git archival found (no export subst applied)
[pipenv.exceptions.InstallError]:         warnings.warn("unprocessed git archival found (no export subst applied)")
[pipenv.exceptions.InstallError]:       Traceback (most recent call last):
[pipenv.exceptions.InstallError]:         File "/tmp/pip-build-env-69ro1t0h/overlay/lib/python3.10/site-packages/skbuild/setuptools_wrap.py", line 645, in setup
[pipenv.exceptions.InstallError]:           cmkr = cmaker.CMaker(cmake_executable)
[pipenv.exceptions.InstallError]:         File "/tmp/pip-build-env-69ro1t0h/overlay/lib/python3.10/site-packages/skbuild/cmaker.py", line 148, in __init__
[pipenv.exceptions.InstallError]:           self.cmake_version = get_cmake_version(self.cmake_executable)
[pipenv.exceptions.InstallError]:         File "/tmp/pip-build-env-69ro1t0h/overlay/lib/python3.10/site-packages/skbuild/cmaker.py", line 105, in get_cmake_version
[pipenv.exceptions.InstallError]:           raise SKBuildError(msg) from err
[pipenv.exceptions.InstallError]:
[pipenv.exceptions.InstallError]:       Problem with the CMake installation, aborting build. CMake executable is cmake
[pipenv.exceptions.InstallError]:       [end of output]
[pipenv.exceptions.InstallError]:
[pipenv.exceptions.InstallError]:   note: This error originates from a subprocess, and is likely not a problem with pip.
[pipenv.exceptions.InstallError]:   ERROR: Failed building wheel for ninja
[pipenv.exceptions.InstallError]: ERROR: Could not build wheels for ninja, which is required to install pyproject.toml-based projects

For version 1.10.2.3 this comes up:

[pipenv.exceptions.InstallError]: Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
[pipenv.exceptions.InstallError]: Collecting ninja==1.10.2.3 (from -r /tmp/pipenv-mzkr_bl0-requirements/pipenv-i30nzh3n-hashed-reqs.txt (line 1))
[pipenv.exceptions.InstallError]:   Using cached ninja-1.10.2.3.tar.gz (26 kB)
[pipenv.exceptions.InstallError]:   Installing build dependencies: started
[pipenv.exceptions.InstallError]:   Installing build dependencies: finished with status 'done'
[pipenv.exceptions.InstallError]:   Getting requirements to build wheel: started
[pipenv.exceptions.InstallError]:   Getting requirements to build wheel: finished with status 'done'
[pipenv.exceptions.InstallError]:   Preparing metadata (pyproject.toml): started
[pipenv.exceptions.InstallError]:   Preparing metadata (pyproject.toml): finished with status 'done'
[pipenv.exceptions.InstallError]: Building wheels for collected packages: ninja
[pipenv.exceptions.InstallError]:   Building wheel for ninja (pyproject.toml): started
[pipenv.exceptions.InstallError]:   Building wheel for ninja (pyproject.toml): finished with status 'error'
[pipenv.exceptions.InstallError]: Failed to build ninja
[pipenv.exceptions.InstallError]: error: subprocess-exited-with-error
[pipenv.exceptions.InstallError]:
[pipenv.exceptions.InstallError]:   × Building wheel for ninja (pyproject.toml) did not run successfully.
[pipenv.exceptions.InstallError]:   │ exit code: 1
[pipenv.exceptions.InstallError]:   ╰─> [9 lines of output]
[pipenv.exceptions.InstallError]:       Traceback (most recent call last):
[pipenv.exceptions.InstallError]:         File "/tmp/pip-build-env-6wddquri/overlay/lib/python3.10/site-packages/skbuild/setuptools_wrap.py", line 645, in setup
[pipenv.exceptions.InstallError]:           cmkr = cmaker.CMaker(cmake_executable)
[pipenv.exceptions.InstallError]:         File "/tmp/pip-build-env-6wddquri/overlay/lib/python3.10/site-packages/skbuild/cmaker.py", line 148, in __init__
[pipenv.exceptions.InstallError]:           self.cmake_version = get_cmake_version(self.cmake_executable)
[pipenv.exceptions.InstallError]:         File "/tmp/pip-build-env-6wddquri/overlay/lib/python3.10/site-packages/skbuild/cmaker.py", line 105, in get_cmake_version
[pipenv.exceptions.InstallError]:           raise SKBuildError(msg) from err
[pipenv.exceptions.InstallError]:
[pipenv.exceptions.InstallError]:       Problem with the CMake installation, aborting build. CMake executable is cmake
[pipenv.exceptions.InstallError]:       [end of output]
[pipenv.exceptions.InstallError]:
[pipenv.exceptions.InstallError]:   note: This error originates from a subprocess, and is likely not a problem with pip.
[pipenv.exceptions.InstallError]:   ERROR: Failed building wheel for ninja
[pipenv.exceptions.InstallError]: ERROR: Could not build wheels for ninja, which is required to install pyproject.toml-based projects
gdmrw commented 4 months ago

Same issue appear when I try to install streamlit on RiscV

fberndl commented 3 months ago

Same issue when building for armhf arch and docker platform linux/arm32/v7