Skip to content

Conversation

@maflcko
Copy link
Member

@maflcko maflcko commented Oct 30, 2025

This is required to compile the pip wheels on native riscv64.

@DrahtBot DrahtBot added the Tests label Oct 30, 2025
@DrahtBot
Copy link
Contributor

DrahtBot commented Oct 30, 2025

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33746.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK fanquake

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

@maflcko
Copy link
Member Author

maflcko commented Oct 30, 2025

Otherwise the CI output will look like:

+ retry -- pip3 install --break-system-packages pycapnp
Collecting pycapnp
  Downloading pycapnp-2.2.1.tar.gz (709 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 709.1/709.1 kB 539.2 kB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: pycapnp
  Building wheel for pycapnp (pyproject.toml): started
  Building wheel for pycapnp (pyproject.toml): still running...
  Building wheel for pycapnp (pyproject.toml): still running...
  Building wheel for pycapnp (pyproject.toml): still running...
  Building wheel for pycapnp (pyproject.toml): still running...
  Building wheel for pycapnp (pyproject.toml): still running...
  Building wheel for pycapnp (pyproject.toml): still running...
  Building wheel for pycapnp (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error
  
  × Building wheel for pycapnp (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [494 lines of output]
...

      -- Installing: /tmp/pip-install-6_9orfqj/pycapnp_1469b51e09c645a3b47136cf952b1f1d/build64/bin/capnpc-capnp
      *WARNING* no libcapnp detected or rebuild forced. Attempting to build it from source now. If you have C++ Cap'n Proto installed, it may be out of date or is not being detected. This may take a while...
      fetching https://capnproto.org/capnproto-c++-1.0.1.tar.gz into /tmp/pip-install-6_9orfqj/pycapnp_1469b51e09c645a3b47136cf952b1f1d/bundled
      copying /tmp/pip-install-6_9orfqj/pycapnp_1469b51e09c645a3b47136cf952b1f1d/build64/include/capnp/rpc-twoparty.capnp -> build/lib.linux-riscv64-cpython-312/capnp
      copying /tmp/pip-install-6_9orfqj/pycapnp_1469b51e09c645a3b47136cf952b1f1d/build64/include/capnp/stream.capnp -> build/lib.linux-riscv64-cpython-312/capnp
      copying /tmp/pip-install-6_9orfqj/pycapnp_1469b51e09c645a3b47136cf952b1f1d/build64/include/capnp/rpc.capnp -> build/lib.linux-riscv64-cpython-312/capnp
      copying /tmp/pip-install-6_9orfqj/pycapnp_1469b51e09c645a3b47136cf952b1f1d/build64/include/capnp/schema.capnp -> build/lib.linux-riscv64-cpython-312/capnp
      copying /tmp/pip-install-6_9orfqj/pycapnp_1469b51e09c645a3b47136cf952b1f1d/build64/include/capnp/persistent.capnp -> build/lib.linux-riscv64-cpython-312/capnp
      copying /tmp/pip-install-6_9orfqj/pycapnp_1469b51e09c645a3b47136cf952b1f1d/build64/include/capnp/c++.capnp -> build/lib.linux-riscv64-cpython-312/capnp
      building 'capnp.lib.capnp' extension
      creating build/temp.linux-riscv64-cpython-312/capnp/helpers
      creating build/temp.linux-riscv64-cpython-312/capnp/includes
      creating build/temp.linux-riscv64-cpython-312/capnp/lib
      riscv64-linux-gnu-g++ -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -fPIC -I. -Icapnp/includes -I/tmp/pip-install-6_9orfqj/pycapnp_1469b51e09c645a3b47136cf952b1f1d/build64/include -I/ci_container_base/ci/scratch/py_venv/include -I/usr/include/python3.12 -c capnp/helpers/capabilityHelper.cpp -o build/temp.linux-riscv64-cpython-312/capnp/helpers/capabilityHelper.o --std=c++14
      In file included from capnp/helpers/capabilityHelper.cpp:1:
      ./capnp/helpers/capabilityHelper.h:7:10: fatal error: Python.h: No such file or directory
          7 | #include "Python.h"
            |          ^~~~~~~~~~
      compilation terminated.
      error: command '/usr/bin/riscv64-linux-gnu-g++' 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 pycapnp
Failed to build pycapnp
ERROR: Could not build wheels for pycapnp, which is required to install pyproject.toml-based projects

@maflcko
Copy link
Member Author

maflcko commented Oct 30, 2025

This is based on commit 72511fd to avoid the clang-16 ICE, so the CI should now pass on FILE_ENV="./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh".

@fanquake
Copy link
Member

ACK fae9235 - did not test.

@maflcko
Copy link
Member Author

maflcko commented Oct 30, 2025

(force pushed for Alpine)

@fanquake
Copy link
Member

ACK facf8b7

@fanquake fanquake merged commit 305384a into bitcoin:master Oct 31, 2025
22 checks passed
@maflcko maflcko deleted the 2510-ci-rv64 branch October 31, 2025 12:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants