Building wheel for pynq (setup.py) ... error

I use PYNQ-2.7 & ZCU104 & vivado2020.2 & petalinux 2020.2, when build SD Card image with command " make BOARDS=ZCU104 PREBUILT=./prebuilt/focal.aarch64.2.7.0_2021_11_17.tar.gz ",
The following error messages appears :

+ BOARD=ZCU104
+ cd /home/xilinx
+ mkdir -p jupyter_notebooks
+ cd pynq_git
+ BOARD=ZCU104
+ PYNQ_JUPYTER_NOTEBOOKS=/home/xilinx/jupyter_notebooks
+ python3 -m pip install dist/pynq-2.7.0.tar.gz --upgrade --no-deps --no-use-pep517
Processing ./dist/pynq-2.7.0.tar.gz
DEPRECATION: Source distribution is being reinstalled despite an installed package having the same name and version as the installed package. pip 21.3 will remove support for this functionality. A possible replacement is use --force-reinstall. You can find discussion regarding this at Should a local file always be re-installed on 'pip install' (with or without '--upgrade')? · Issue #8711 · pypa/pip · GitHub.
Building wheels for collected packages: pynq
Building wheel for pynq (setup.py) … error
ERROR: Command errored out with exit status 1:
command: /usr/local/share/pynq-venv/bin/python3 -u -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘"’"’/tmp/pip-req-build-kc0fe7w2/setup.py’“'”‘; file=’“'”‘/tmp/pip-req-build-kc0fe7w2/setup.py’“'”‘;f = getattr(tokenize, ‘"’“‘open’”’“‘, open)(file) if os.path.exists(file) else io.StringIO(’”‘“‘from setuptools import setup; setup()’”’“‘);code = f.read().replace(’”‘"’\r\n’“'”‘, ‘"’"’\n’“'”‘);f.close();exec(compile(code, file, ‘"’“‘exec’”’"‘))’ bdist_wheel -d /tmp/pip-wheel-3gnbgzoo
cwd: /tmp/pip-req-build-kc0fe7w2/
Complete output (1831 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/tests
copying tests/mock_ip.py → build/lib/tests
copying tests/test_devicetree.py → build/lib/tests
copying tests/test_overlay.py → build/lib/tests
copying tests/mock_devices.py → build/lib/tests
copying tests/test_mmio.py → build/lib/tests
copying tests/test_interrupt.py → build/lib/tests
copying tests/test_gpio.py → build/lib/tests
copying tests/test_buffer.py → build/lib/tests
copying tests/test_xrt.py → build/lib/tests
copying tests/init.py → build/lib/tests
copying tests/test_axigpio.py → build/lib/tests
copying tests/test_uio.py → build/lib/tests
copying tests/helpers.py → build/lib/tests
copying tests/test_registers.py → build/lib/tests
copying tests/test_clocks.py → build/lib/tests
copying tests/test_bitstream.py → build/lib/tests
creating build/lib/pynq
copying pynq/interrupt.py → build/lib/pynq
copying pynq/utils.py → build/lib/pynq
copying pynq/overlay.py → build/lib/pynq
copying pynq/mmio.py → build/lib/pynq
copying pynq/gpio.py → build/lib/pynq
copying pynq/ps.py → build/lib/pynq
copying pynq/pl.py → build/lib/pynq
copying pynq/bitstream.py → build/lib/pynq
copying pynq/buffer.py → build/lib/pynq
copying pynq/init.py → build/lib/pynq
copying pynq/pmbus.py → build/lib/pynq
copying pynq/registers.py → build/lib/pynq
copying pynq/devicetree.py → build/lib/pynq
copying pynq/uio.py → build/lib/pynq

What cause this error, How to solve the compiling error?