按照与前文一样的步骤,因为没有相应平台的whl包,它选择编译源代码,结果报错
(uv314) root@kylin-pc:/par/uv314# python3.14 /par/pip.pyz install cinderx -i https://mirrors.aliyun.com/pypi/simple/
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting cinderx
Downloading https://mirrors.aliyun.com/pypi/packages/8f/7f/ee08bad651fc19fcc30a1e2ccfcf39251a85f685321c399ddf5cd04cf6df/cinderx-2026.3.30.0.tar.gz (1.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 2.9 MB/s 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: cinderx
Building wheel for cinderx (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for cinderx (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [99 lines of output]
Using version from PKG-INFO: 2026.3.30.0
running bdist_wheel
running build
running build_py
creating scratch/lib.linux-aarch64-cpython-314/__static__
copying cinderx/PythonLib/__static__/type_code.py -> scratch/lib.linux-aarch64-cpython-314/__static__
...
creating scratch/lib.linux-aarch64-cpython-314/opcodes/3.15
copying cinderx/PythonLib/opcodes/3.15/opcode.py -> scratch/lib.linux-aarch64-cpython-314/opcodes/3.15
copying cinderx/PythonLib/opcodes/3.14/opcode.py -> scratch/lib.linux-aarch64-cpython-314/cinderx
Writing .dev_build file to cinderx/PythonLib/cinderx/.dev_build
running build_ext
Found GCC version 14.2
Using GCC: /usr/local/bin/gcc, /usr/local/bin/g++
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-8wafm_64/cinderx_43bb8b490e84411ab380644120beea7b/scratch/lib.linux-aarch64-cpython-314 -DCMAKE_C_COMPILER=/usr/local/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF -DENABLE_LTO=OFF -DPY_VERSION=3.14 -DPython_ROOT_DIR=/root/.local/share/uv/python/cpython-3.14.3-linux-aarch64-gnu/include/python3.14/../.. -DMETA_PYTHON=0 -DENABLE_ADAPTIVE_STATIC_PYTHON=0 -DENABLE_DISASSEMBLER=0 -DENABLE_ELF_READER=1 -DENABLE_EVAL_HOOK=0 -DENABLE_FUNC_EVENT_MODIFY_QUALNAME=0 -DENABLE_GENERATOR_AWAITER=0 -DENABLE_INTERPRETER_LOOP=1 -DENABLE_LAZY_IMPORTS=0 -DENABLE_LIGHTWEIGHT_FRAMES=0 -DENABLE_PARALLEL_GC=0 -DENABLE_PEP523_HOOK=1 -DENABLE_PERF_TRAMPOLINE=0 -DENABLE_SYMBOLIZER=1 -DENABLE_USDT=1 -B scratch/temp.linux-aarch64-cpython-314 /tmp/pip-install-8wafm_64/cinderx_43bb8b490e84411ab380644120beea7b
error: command 'cmake' failed: No such file or directory
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for cinderx
Failed to build cinderx
error: failed-wheel-build-for-install
× Failed to build installable wheels for some pyproject.toml based projects
╰─> cinderx
这是因为没有装cmake。
将cmake的安装路径加入PATH, 报错变成了
export PATH=/par/cmake-4.2.3-linux-aarch64/bin:$PATH
Found GCC version 14.2
Using GCC: /usr/local/bin/gcc, /usr/local/bin/g++
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-hzoylwrp/cinderx_084470de0ea74e388b4bb7e030a95dfc/scratch/lib.linux-aarch64-cpython-314 -DCMAKE_C_COMPILER=/usr/local/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF -DENABLE_LTO=OFF -DPY_VERSION=3.14 -DPython_ROOT_DIR=/root/.local/share/uv/python/cpython-3.14.3-linux-aarch64-gnu/include/python3.14/../.. -DMETA_PYTHON=0 -DENABLE_ADAPTIVE_STATIC_PYTHON=0 -DENABLE_DISASSEMBLER=0 -DENABLE_ELF_READER=1 -DENABLE_EVAL_HOOK=0 -DENABLE_FUNC_EVENT_MODIFY_QUALNAME=0 -DENABLE_GENERATOR_AWAITER=0 -DENABLE_INTERPRETER_LOOP=1 -DENABLE_LAZY_IMPORTS=0 -DENABLE_LIGHTWEIGHT_FRAMES=0 -DENABLE_PARALLEL_GC=0 -DENABLE_PEP523_HOOK=1 -DENABLE_PERF_TRAMPOLINE=0 -DENABLE_SYMBOLIZER=1 -DENABLE_USDT=1 -B scratch/temp.linux-aarch64-cpython-314 /tmp/pip-install-hzoylwrp/cinderx_084470de0ea74e388b4bb7e030a95dfc
=====================================================================
= WARNING =
=====================================================================
= =
= This CMake build is not well supported, and is primarily used for =
= experimentation. Do not expect this to work on your machine. =
=====================================================================
-- The C compiler identification is GNU 14.2.0
-- The CXX compiler identification is GNU 14.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/local/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/local/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python: /root/.local/share/uv/python/cpython-3.14.3-linux-aarch64-gnu/bin/python3.14 (found suitable exact version "3.14.3") found components: Interpreter Development.Module
-- Performing Test __CxxFlag__fno_threadsafe_statics
-- Performing Test __CxxFlag__fno_threadsafe_statics - Success
-- Performing Test __CxxFlag__fno_semantic_interposition
-- Performing Test __CxxFlag__fno_semantic_interposition - Success
-- Performing Test __CxxFlag__fmerge_all_constants
-- Performing Test __CxxFlag__fmerge_all_constants - Success
-- Performing Test __CxxFlag__fno_enforce_eh_specs
-- Performing Test __CxxFlag__fno_enforce_eh_specs - Success
-- Dependency: adding libc (Linux, BSD, or other UNIX/POSIX environment)
-- Performing Test ASMJIT_LIBC_HAS_LIBPTHREAD
-- Performing Test ASMJIT_LIBC_HAS_LIBPTHREAD - Success
-- Dependency: libpthread provided by libc (not linking to libpthread)
-- Performing Test ASMJIT_LIBC_HAS_LIBRT
-- Performing Test ASMJIT_LIBC_HAS_LIBRT - Success
-- Dependency: shm_open provided by libc (not linking to librt)
** AsmJit Summary **
ASMJIT_DIR=/tmp/pip-install-hzoylwrp/cinderx_084470de0ea74e388b4bb7e030a95dfc/scratch/temp.linux-aarch64-cpython-314/_deps/asmjit-src
ASMJIT_TEST=FALSE
ASMJIT_TARGET_TYPE=STATIC
ASMJIT_DEPS=c
ASMJIT_LIBS=asmjit;c
ASMJIT_CFLAGS=-DASMJIT_STATIC
ASMJIT_PRIVATE_CFLAGS=-Wall;-Wextra;-Wconversion;-fno-math-errno;-fno-threadsafe-statics;-fno-semantic-interposition;-DASMJIT_STATIC
ASMJIT_PRIVATE_CFLAGS_DBG=
ASMJIT_PRIVATE_CFLAGS_REL=-O2;-fmerge-all-constants;-fno-enforce-eh-specs
[ 11%] Creating directories for 'fmt-populate'
[ 22%] Performing download step (git clone) for 'fmt-populate'
Cloning into 'fmt-src'...
fatal: unable to access 'https://github.com/fmtlib/fmt/': Proxy CONNECT aborted
Cloning into 'fmt-src'...
fatal: unable to access 'https://github.com/fmtlib/fmt/': Proxy CONNECT aborted
Cloning into 'fmt-src'...
fatal: unable to access 'https://github.com/fmtlib/fmt/': Proxy CONNECT aborted
Had to git clone more than once: 3 times.
CMake Error at fmt-subbuild/fmt-populate-prefix/tmp/fmt-populate-gitclone.cmake:50 (message):
Failed to clone repository: 'https://github.com/fmtlib/fmt'
gmake[2]: *** [CMakeFiles/fmt-populate.dir/build.make:102: fmt-populate-prefix/src/fmt-populate-stamp/fmt-populate-download] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:87: CMakeFiles/fmt-populate.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2
CMake Error at /par/cmake-4.2.3-linux-aarch64/share/cmake-4.2/Modules/FetchContent.cmake:1928 (message):
Build step for fmt failed: 2
Call Stack (most recent call first):
/par/cmake-4.2.3-linux-aarch64/share/cmake-4.2/Modules/FetchContent.cmake:1619 (__FetchContent_populateSubbuild)
/par/cmake-4.2.3-linux-aarch64/share/cmake-4.2/Modules/FetchContent.cmake:2155:EVAL:2 (__FetchContent_doPopulation)
/par/cmake-4.2.3-linux-aarch64/share/cmake-4.2/Modules/FetchContent.cmake:2155 (cmake_language)
/par/cmake-4.2.3-linux-aarch64/share/cmake-4.2/Modules/FetchContent.cmake:2394 (__FetchContent_Populate)
CMakeLists.txt:185 (FetchContent_MakeAvailable)
-- Configuring incomplete, errors occurred!
error: command '/par/cmake-4.2.3-linux-aarch64/bin/cmake' 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 cinderx
Failed to build cinderx
error: failed-wheel-build-for-install
× Failed to build installable wheels for some pyproject.toml based projects
╰─> cinderx
连接第三方库github存储库超时,这可以通过修改CMakeLists.txt文件,把github.com改成镜像地址来解决。因为pip 安装过程无法中断再继续,选择下载源代码后,修改文件再手工编译。
curl -LO https://mirrors.aliyun.com/pypi/packages/8f/7f/ee08bad651fc19fcc30a1e2ccfcf39251a85f685321c399ddf5cd04cf6df/cinderx-2026.3.30.0.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1569k 100 1569k 0 0 2743k 0 --:--:-- --:--:-- --:--:-- 2738k
nbs@kylin-pc:~/par$ sudo docker exec -it gcc142 bash
输入密码
root@kylin-pc:/# cd /par
root@kylin-pc:/par# tar xf cinderx-2026.3.30.0.tar.gz
先直接执行刚才pip产生的cmake命令行
cmake .. DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-hzoylwrp/cinderx_084470de0ea74e388b4bb7e030a95dfc/scratch/lib.linux-aarch64-cpython-314 -DCMAKE_C_COMPILER=/usr/local/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF -DENABLE_LTO=OFF -DPY_VERSION=3.14 -DPython_ROOT_DIR=/root/.local/share/uv/python/cpython-3.14.3-linux-aarch64-gnu/include/python3.14/../.. -DMETA_PYTHON=0 -DENABLE_ADAPTIVE_STATIC_PYTHON=0 -DENABLE_DISASSEMBLER=0 -DENABLE_ELF_READER=1 -DENABLE_EVAL_HOOK=0 -DENABLE_FUNC_EVENT_MODIFY_QUALNAME=0 -DENABLE_GENERATOR_AWAITER=0 -DENABLE_INTERPRETER_LOOP=1 -DENABLE_LAZY_IMPORTS=0 -DENABLE_LIGHTWEIGHT_FRAMES=0 -DENABLE_PARALLEL_GC=0 -DENABLE_PEP523_HOOK=1 -DENABLE_PERF_TRAMPOLINE=0 -DENABLE_SYMBOLIZER=1 -DENABLE_USDT=1 -B scratch/temp.linux-aarch64-cpython-314 /tmp/pip-install-hzoylwrp/cinderx_084470de0ea74e388b4bb7e030a95dfc
Manually-specified variables were not used by the project:
META_PYTHON
-- Build files have been written to: /par/cinderx-2026.3.30.0/build/scratch/temp.linux-aarch64-cpython-314
将Makefile写到了指定目录,所以进入该目录执行make
root@kylin-pc:/par/cinderx-2026.3.30.0/build# make -j 8
make: *** No targets specified and no makefile found. Stop.
root@kylin-pc:/par/cinderx-2026.3.30.0/build# cd /par/cinderx-2026.3.30.0/build/scratch/temp.linux-aarch64-cpython-314
root@kylin-pc:/par/cinderx-2026.3.30.0/build/scratch/temp.linux-aarch64-cpython-314# ls
CMakeCache.txt CMakeFiles Makefile _deps cmake_install.cmake generated
root@kylin-pc:/par/cinderx-2026.3.30.0/build/scratch/temp.linux-aarch64-cpython-314# make -j 8
[ 0%] Building CXX object _deps/fmt-build/CMakeFiles/fmt.dir/src/format.cc.o
[ 0%] Building C object CMakeFiles/parallel-gc.dir/generated/dummy-parallel-gc.c.o
[ 1%] Building CXX object _deps/fmt-build/CMakeFiles/fmt.dir/src/os.cc.o
[ 1%] Building C object CMakeFiles/interpreter.dir/cinderx/Interpreter/cinder_opcode.c.o
...
[100%] Linking CXX shared library /tmp/pip-install-hzoylwrp/cinderx_084470de0ea74e388b4bb7e030a95dfc/scratch/lib.linux-aarch64-cpython-314/_cinderx.so
[100%] Built target _cinderx
成功生成了so文件,但这个文件不能单独import,在网上看到需要用python3.14 setup.py bdist_wheel命令来生成whl。
root@kylin-pc:/par/cinderx-2026.3.30.0/build/scratch/temp.linux-aarch64-cpython-314# cd /par/cinderx-2026.3.30.0/
root@kylin-pc:/par/cinderx-2026.3.30.0# python3.14 setup.py bdist_wheel
Traceback (most recent call last):
File "/par/cinderx-2026.3.30.0/setup.py", line 23, in <module>
from setuptools import Extension, find_packages, setup
ModuleNotFoundError: No module named 'setuptools'
root@kylin-pc:/par/cinderx-2026.3.30.0# cd /par/uv314 ;source .venv/bin/activate
(uv314) root@kylin-pc:/par/uv314# python3.14 /par/pip.pyz config set global.index-url https://mirrors.aliyun.com/pypi/simple/
Writing to /root/.config/pip/pip.conf
(uv314) root@kylin-pc:/par/uv314# python3.14 /par/pip.pyz install setuptools
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting setuptools
Downloading https://mirrors.aliyun.com/pypi/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl (1.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 17.4 MB/s 0:00:00
Installing collected packages: setuptools
Successfully installed setuptools-82.0.1
(uv314) root@kylin-pc:/par/uv314# cd /par/cinderx-2026.3.30.0/
提示需要安装setuptools模块,安装后就可以执行上述命令了,执行流程和pip命令的效果一样。
(uv314) root@kylin-pc:/par/cinderx-2026.3.30.0# python3.14 setup.py bdist_wheel
Using version from PKG-INFO: 2026.3.30.0
running bdist_wheel
running build
running build_py
creating scratch/lib.linux-aarch64-cpython-314/__strict__
copying cinderx/PythonLib/__strict__/__init__.py -> scratch/lib.linux-aarch64-cpython-314/__strict__
creating scratch/lib.linux-aarch64-cpython-314/__static__
...
copying cinderx/PythonLib/opcodes/3.14/opcode.py -> scratch/lib.linux-aarch64-cpython-314/cinderx
Writing .dev_build file to cinderx/PythonLib/cinderx/.dev_build
running build_ext
Found GCC version 14.2
Using GCC: /usr/local/bin/gcc, /usr/local/bin/g++
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/par/cinderx-2026.3.30.0/scratch/lib.linux-aarch64-cpython-314 -DCMAKE_C_COMPILER=/usr/local/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF -DENABLE_LTO=OFF -DPY_VERSION=3.14 -DPython_ROOT_DIR=/root/.local/share/uv/python/cpython-3.14.3-linux-aarch64-gnu/include/python3.14/../.. -DMETA_PYTHON=0 -DENABLE_ADAPTIVE_STATIC_PYTHON=0 -DENABLE_DISASSEMBLER=0 -DENABLE_ELF_READER=1 -DENABLE_EVAL_HOOK=0 -DENABLE_FUNC_EVENT_MODIFY_QUALNAME=0 -DENABLE_GENERATOR_AWAITER=0 -DENABLE_INTERPRETER_LOOP=1 -DENABLE_LAZY_IMPORTS=0 -DENABLE_LIGHTWEIGHT_FRAMES=0 -DENABLE_PARALLEL_GC=0 -DENABLE_PEP523_HOOK=1 -DENABLE_PERF_TRAMPOLINE=0 -DENABLE_SYMBOLIZER=1 -DENABLE_USDT=1 -B scratch/temp.linux-aarch64-cpython-314 /par/cinderx-2026.3.30.0
=====================================================================
= WARNING =
=====================================================================
= =
= This CMake build is not well supported, and is primarily used for =
= experimentation. Do not expect this to work on your machine. =
=====================================================================
...
-- Build files have been written to: /par/cinderx-2026.3.30.0/scratch/temp.linux-aarch64-cpython-314
cmake --build scratch/temp.linux-aarch64-cpython-314 --config RelWithDebInfo -- -j 12
[ 1%] Building CXX object _deps/fmt-build/CMakeFiles/fmt.dir/src/format.cc.o
...
[100%] Linking CXX shared library /par/cinderx-2026.3.30.0/scratch/lib.linux-aarch64-cpython-314/_cinderx.so
[100%] Built target _cinderx
/par/uv314/.venv/lib/python3.14/site-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` directly.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
This deprecation is overdue, please update your project and remove deprecated
calls to avoid build errors in the future.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
********************************************************************************
!!
self.initialize_options()
installing to scratch/bdist.linux-aarch64/wheel
running install
running install_lib
creating scratch/bdist.linux-aarch64/wheel
creating scratch/bdist.linux-aarch64/wheel/__strict__
...
running install_scripts
creating scratch/bdist.linux-aarch64/wheel/cinderx-2026.3.30.0.dist-info/WHEEL
creating 'dist/cinderx-2026.3.30.0-cp314-cp314-linux_aarch64.whl' and adding 'scratch/bdist.linux-aarch64/wheel' to it
adding '_cinderx.so'
...
adding 'cinderx/compiler/strict/runtime.py'
adding 'cinderx/compiler/strict/rewriter/__init__.py'
adding 'cinderx/compiler/strict/rewriter/remove_annotations.py'
adding 'cinderx/compiler/strict/rewriter/rewriter.py'
adding 'cinderx-2026.3.30.0.dist-info/licenses/LICENSE'
adding 'opcodes/__init__.py'
adding 'opcodes/assign_opcode_numbers.py'
adding 'opcodes/cinderx_opcodes.py'
adding 'opcodes/3.10/opcode.py'
adding 'opcodes/3.12/opcode.py'
adding 'opcodes/3.14/opcode.py'
adding 'opcodes/3.15/opcode.py'
adding 'cinderx-2026.3.30.0.dist-info/METADATA'
adding 'cinderx-2026.3.30.0.dist-info/WHEEL'
adding 'cinderx-2026.3.30.0.dist-info/top_level.txt'
adding 'cinderx-2026.3.30.0.dist-info/RECORD'
removing scratch/bdist.linux-aarch64/wheel
上述命令虽然中间提示setup.py install 方法已过时,但还是生成了whl文件,但没有安装。
(uv314) root@kylin-pc:/par/cinderx-2026.3.30.0# python
Python 3.14.3 (main, Mar 24 2026, 22:47:01) [Clang 22.1.1 ] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cinderx.jit
Traceback (most recent call last):
File "<python-input-0>", line 1, in <module>
import cinderx.jit
ModuleNotFoundError: No module named 'cinderx.jit'
>>>
(uv314) root@kylin-pc:/par/cinderx-2026.3.30.0# ls dist
cinderx-2026.3.30.0-cp314-cp314-linux_aarch64.whl
(uv314) root@kylin-pc:/par/cinderx-2026.3.30.0# python3.14 /par/pip.pyz install dist/cinderx-2026.3.30.0-cp314-cp314-linux_aarch64.whl
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Processing ./dist/cinderx-2026.3.30.0-cp314-cp314-linux_aarch64.whl
Installing collected packages: cinderx
Successfully installed cinderx-2026.3.30.0
(uv314) root@kylin-pc:/par/cinderx-2026.3.30.0# python
Python 3.14.3 (main, Mar 24 2026, 22:47:01) [Clang 22.1.1 ] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cinderx.jit
JIT: /par/cinderx-2026.3.30.0/cinderx/Jit/code_allocator.cpp:62 -- Failed to madvise [0x7f8cd5c000, 0x7f8cf5c000) with MADV_HUGEPAGE, errno=22
>>>
用python3.14 /par/pip.pyz install 命令安装生成的whl, 没有报错,但是进入python后import cinderx.jit就报错了。这不能怪它,因为早就提示过了
=====================================================================
= WARNING =
=====================================================================
= =
= This CMake build is not well supported, and is primarily used for =
= experimentation. Do not expect this to work on your machine. =
=====================================================================
这就是官方不提供aarch64 linux whl的原因吧。