Skip to content

Conversation

rustyrussell
Copy link
Contributor

@rustyrussell rustyrussell commented Oct 2, 2025

It takes over an hour to run, because there's no FreeBSD wheel for the cryptography Python package, and it builds it, in Rust, from scratch.

Then it fails due to some obscure cffi error.

This is the kind of death which happens when an OS just isn't popular enough to get broad support: even those who want to be supportive find that the infrastructure cost is too great.

Changelog-None

Wed, 01 Oct 2025 06:08:27 GMT   # Just run a "quick" test without memory checking
Wed, 01 Oct 2025 06:08:27 GMT   uv run gmake
Wed, 01 Oct 2025 06:08:28 GMT   /usr/bin/bash /home/runner/work/_actions/vmactions/freebsd-vm/v1/run.sh execSSHSH
Wed, 01 Oct 2025 06:08:28 GMT   Config file: freebsd-14.3.conf
Wed, 01 Oct 2025 06:08:28 GMT   Using CPython 3.11.13 interpreter at: /usr/local/bin/python3
Wed, 01 Oct 2025 06:08:28 GMT   Creating virtual environment at: .venv
Wed, 01 Oct 2025 06:08:28 GMT   Resolved 79 packages in 7ms
Wed, 01 Oct 2025 06:08:28 GMT      Building pyln-client @ file:///home/runner/work/lightning/lightning/contrib/pyln-client
Wed, 01 Oct 2025 06:08:28 GMT      Building pyln-grpc-proto @ file:///home/runner/work/lightning/lightning/contrib/pyln-grpc-proto
Wed, 01 Oct 2025 06:08:28 GMT      Building pyln-proto @ file:///home/runner/work/lightning/lightning/contrib/pyln-proto
Wed, 01 Oct 2025 06:08:28 GMT      Building pyln-bolt7 @ file:///home/runner/work/lightning/lightning/contrib/pyln-spec/bolt7
Wed, 01 Oct 2025 06:08:28 GMT      Building pyln-testing @ file:///home/runner/work/lightning/lightning/contrib/pyln-testing
Wed, 01 Oct 2025 06:08:28 GMT   Downloading pygments (1.2MiB)
Wed, 01 Oct 2025 06:08:28 GMT   Downloading setuptools (1.1MiB)
Wed, 01 Oct 2025 06:08:29 GMT      Building bitarray==3.7.1
Wed, 01 Oct 2025 06:08:29 GMT      Building markupsafe==3.0.3
Wed, 01 Oct 2025 06:08:29 GMT      Building crc32c==2.7.1
Wed, 01 Oct 2025 06:08:29 GMT      Building rpds-py==0.27.1
Wed, 01 Oct 2025 06:08:29 GMT      Building coincurve==21.0.0
Wed, 01 Oct 2025 06:08:29 GMT    Downloading pygments
Wed, 01 Oct 2025 06:08:29 GMT      Building psutil==7.1.0
Wed, 01 Oct 2025 06:08:29 GMT      Building psycopg2-binary==2.9.10
Wed, 01 Oct 2025 06:08:29 GMT      Building cffi==2.0.0
Wed, 01 Oct 2025 06:08:29 GMT    Downloading setuptools
Wed, 01 Oct 2025 06:08:29 GMT      Building cryptography==46.0.1
Wed, 01 Oct 2025 06:08:30 GMT         Built pyln-client @ file:///home/runner/work/lightning/lightning/contrib/pyln-client
Wed, 01 Oct 2025 06:08:30 GMT         Built pyln-testing @ file:///home/runner/work/lightning/lightning/contrib/pyln-testing
Wed, 01 Oct 2025 06:08:30 GMT         Built pyln-grpc-proto @ file:///home/runner/work/lightning/lightning/contrib/pyln-grpc-proto
Wed, 01 Oct 2025 06:08:30 GMT         Built pyln-bolt7 @ file:///home/runner/work/lightning/lightning/contrib/pyln-spec/bolt7
Wed, 01 Oct 2025 06:08:30 GMT         Built pyln-proto @ file:///home/runner/work/lightning/lightning/contrib/pyln-proto
Wed, 01 Oct 2025 06:08:32 GMT      Building grpcio-tools==1.75.1
Wed, 01 Oct 2025 06:08:32 GMT      Building grpcio==1.75.1
Wed, 01 Oct 2025 06:08:35 GMT         Built markupsafe==3.0.3
Wed, 01 Oct 2025 06:08:35 GMT         Built crc32c==2.7.1
Wed, 01 Oct 2025 06:08:40 GMT         Built bitarray==3.7.1
Wed, 01 Oct 2025 06:08:46 GMT         Built cffi==2.0.0
Wed, 01 Oct 2025 06:08:50 GMT         Built psutil==7.1.0
Wed, 01 Oct 2025 06:08:54 GMT         Built psycopg2-binary==2.9.10
Wed, 01 Oct 2025 06:19:41 GMT         Built rpds-py==0.27.1
Wed, 01 Oct 2025 06:20:41 GMT         Built cryptography==46.0.1
Wed, 01 Oct 2025 06:28:08 GMT         Built grpcio-tools==1.75.1
Wed, 01 Oct 2025 06:41:17 GMT         Built grpcio==1.75.1
Wed, 01 Oct 2025 07:24:36 GMT     × Failed to build `coincurve==21.0.0`
Wed, 01 Oct 2025 07:24:36 GMT     ├─▶ The build backend returned an error
Wed, 01 Oct 2025 07:24:36 GMT     ╰─▶ Call to `hatchling.build.build_wheel` failed (exit status: 1)
Wed, 01 Oct 2025 07:24:36 GMT
Wed, 01 Oct 2025 07:24:36 GMT         [stderr]
Wed, 01 Oct 2025 07:24:36 GMT         Traceback (most recent call last):
Wed, 01 Oct 2025 07:24:36 GMT           File "<string>", line 11, in <module>
Wed, 01 Oct 2025 07:24:36 GMT           File
Wed, 01 Oct 2025 07:24:36 GMT         "/root/.cache/uv/builds-v0/.tmpisps1h/lib/python3.11/site-packages/hatchling/build.py",
Wed, 01 Oct 2025 07:24:36 GMT         line 58, in build_wheel
Wed, 01 Oct 2025 07:24:36 GMT             return os.path.basename(next(builder.build(directory=wheel_directory,
Wed, 01 Oct 2025 07:24:36 GMT         versions=['standard'])))
Wed, 01 Oct 2025 07:24:36 GMT
Wed, 01 Oct 2025 07:24:36 GMT         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Wed, 01 Oct 2025 07:24:36 GMT           File
Wed, 01 Oct 2025 07:24:36 GMT         "/root/.cache/uv/builds-v0/.tmpisps1h/lib/python3.11/site-packages/hatchling/builders/plugin/interface.py",
Wed, 01 Oct 2025 07:24:36 GMT         line 147, in build
Wed, 01 Oct 2025 07:24:36 GMT             build_hook.initialize(version, build_data)
Wed, 01 Oct 2025 07:24:36 GMT           File
Wed, 01 Oct 2025 07:24:36 GMT         "/root/.cache/uv/sdists-v9/pypi/coincurve/21.0.0/DQ1iYVIp54KEKTujF5Poy/src/hatch_build.py",
Wed, 01 Oct 2025 07:24:36 GMT         line 34, in initialize
Wed, 01 Oct 2025 07:24:36 GMT             raise RuntimeError(message)
Wed, 01 Oct 2025 07:24:36 GMT         RuntimeError: Expected exactly one LICENSE file in cffi distribution,
Wed, 01 Oct 2025 07:24:36 GMT         got 0
Wed, 01 Oct 2025 07:24:36 GMT
Wed, 01 Oct 2025 07:24:36 GMT         hint: This usually indicates a problem with the package or the build
Wed, 01 Oct 2025 07:24:36 GMT         environment.
Wed, 01 Oct 2025 07:24:36 GMT     help: `coincurve` (v21.0.0) was included because `cln-meta-project` (v0.1.0)
Wed, 01 Oct 2025 07:24:36 GMT           depends on `pyln-proto` (v25.9) which depends on `coincurve`

Important

25.12 FREEZE October 27th: Non-bugfix PRs not ready by this date will wait for 26.03.

RC1 is scheduled on November 10th

The final release is scheduled for December 1st.

Checklist

Before submitting the PR, ensure the following tasks are completed. If an item is not applicable to your PR, please mark it as checked:

  • The changelog has been updated in the relevant commit(s) according to the guidelines.
  • Tests have been added or modified to reflect the changes.
  • Documentation has been reviewed and updated as needed.
  • Related issues have been listed and linked, including any that this PR closes.

@rustyrussell rustyrussell added this to the v25.12 milestone Oct 2, 2025
It takes over an hour to run, because there's no FreeBSD wheel for the cryptography Python
package, and it builds it, in Rust, from scratch.

Then it fails due to some obscure cffi error.

This is the kind of death which happens when an OS just isn't popular enough to get
broad support: even those who want to be supportive find that the infrastructure cost
is too great.

```
Wed, 01 Oct 2025 06:08:27 GMT   # Just run a "quick" test without memory checking
Wed, 01 Oct 2025 06:08:27 GMT   uv run gmake
Wed, 01 Oct 2025 06:08:28 GMT   /usr/bin/bash /home/runner/work/_actions/vmactions/freebsd-vm/v1/run.sh execSSHSH
Wed, 01 Oct 2025 06:08:28 GMT   Config file: freebsd-14.3.conf
Wed, 01 Oct 2025 06:08:28 GMT   Using CPython 3.11.13 interpreter at: /usr/local/bin/python3
Wed, 01 Oct 2025 06:08:28 GMT   Creating virtual environment at: .venv
Wed, 01 Oct 2025 06:08:28 GMT   Resolved 79 packages in 7ms
Wed, 01 Oct 2025 06:08:28 GMT      Building pyln-client @ file:///home/runner/work/lightning/lightning/contrib/pyln-client
Wed, 01 Oct 2025 06:08:28 GMT      Building pyln-grpc-proto @ file:///home/runner/work/lightning/lightning/contrib/pyln-grpc-proto
Wed, 01 Oct 2025 06:08:28 GMT      Building pyln-proto @ file:///home/runner/work/lightning/lightning/contrib/pyln-proto
Wed, 01 Oct 2025 06:08:28 GMT      Building pyln-bolt7 @ file:///home/runner/work/lightning/lightning/contrib/pyln-spec/bolt7
Wed, 01 Oct 2025 06:08:28 GMT      Building pyln-testing @ file:///home/runner/work/lightning/lightning/contrib/pyln-testing
Wed, 01 Oct 2025 06:08:28 GMT   Downloading pygments (1.2MiB)
Wed, 01 Oct 2025 06:08:28 GMT   Downloading setuptools (1.1MiB)
Wed, 01 Oct 2025 06:08:29 GMT      Building bitarray==3.7.1
Wed, 01 Oct 2025 06:08:29 GMT      Building markupsafe==3.0.3
Wed, 01 Oct 2025 06:08:29 GMT      Building crc32c==2.7.1
Wed, 01 Oct 2025 06:08:29 GMT      Building rpds-py==0.27.1
Wed, 01 Oct 2025 06:08:29 GMT      Building coincurve==21.0.0
Wed, 01 Oct 2025 06:08:29 GMT    Downloading pygments
Wed, 01 Oct 2025 06:08:29 GMT      Building psutil==7.1.0
Wed, 01 Oct 2025 06:08:29 GMT      Building psycopg2-binary==2.9.10
Wed, 01 Oct 2025 06:08:29 GMT      Building cffi==2.0.0
Wed, 01 Oct 2025 06:08:29 GMT    Downloading setuptools
Wed, 01 Oct 2025 06:08:29 GMT      Building cryptography==46.0.1
Wed, 01 Oct 2025 06:08:30 GMT         Built pyln-client @ file:///home/runner/work/lightning/lightning/contrib/pyln-client
Wed, 01 Oct 2025 06:08:30 GMT         Built pyln-testing @ file:///home/runner/work/lightning/lightning/contrib/pyln-testing
Wed, 01 Oct 2025 06:08:30 GMT         Built pyln-grpc-proto @ file:///home/runner/work/lightning/lightning/contrib/pyln-grpc-proto
Wed, 01 Oct 2025 06:08:30 GMT         Built pyln-bolt7 @ file:///home/runner/work/lightning/lightning/contrib/pyln-spec/bolt7
Wed, 01 Oct 2025 06:08:30 GMT         Built pyln-proto @ file:///home/runner/work/lightning/lightning/contrib/pyln-proto
Wed, 01 Oct 2025 06:08:32 GMT      Building grpcio-tools==1.75.1
Wed, 01 Oct 2025 06:08:32 GMT      Building grpcio==1.75.1
Wed, 01 Oct 2025 06:08:35 GMT         Built markupsafe==3.0.3
Wed, 01 Oct 2025 06:08:35 GMT         Built crc32c==2.7.1
Wed, 01 Oct 2025 06:08:40 GMT         Built bitarray==3.7.1
Wed, 01 Oct 2025 06:08:46 GMT         Built cffi==2.0.0
Wed, 01 Oct 2025 06:08:50 GMT         Built psutil==7.1.0
Wed, 01 Oct 2025 06:08:54 GMT         Built psycopg2-binary==2.9.10
Wed, 01 Oct 2025 06:19:41 GMT         Built rpds-py==0.27.1
Wed, 01 Oct 2025 06:20:41 GMT         Built cryptography==46.0.1
Wed, 01 Oct 2025 06:28:08 GMT         Built grpcio-tools==1.75.1
Wed, 01 Oct 2025 06:41:17 GMT         Built grpcio==1.75.1
Wed, 01 Oct 2025 07:24:36 GMT     × Failed to build `coincurve==21.0.0`
Wed, 01 Oct 2025 07:24:36 GMT     ├─▶ The build backend returned an error
Wed, 01 Oct 2025 07:24:36 GMT     ╰─▶ Call to `hatchling.build.build_wheel` failed (exit status: 1)
Wed, 01 Oct 2025 07:24:36 GMT
Wed, 01 Oct 2025 07:24:36 GMT         [stderr]
Wed, 01 Oct 2025 07:24:36 GMT         Traceback (most recent call last):
Wed, 01 Oct 2025 07:24:36 GMT           File "<string>", line 11, in <module>
Wed, 01 Oct 2025 07:24:36 GMT           File
Wed, 01 Oct 2025 07:24:36 GMT         "/root/.cache/uv/builds-v0/.tmpisps1h/lib/python3.11/site-packages/hatchling/build.py",
Wed, 01 Oct 2025 07:24:36 GMT         line 58, in build_wheel
Wed, 01 Oct 2025 07:24:36 GMT             return os.path.basename(next(builder.build(directory=wheel_directory,
Wed, 01 Oct 2025 07:24:36 GMT         versions=['standard'])))
Wed, 01 Oct 2025 07:24:36 GMT
Wed, 01 Oct 2025 07:24:36 GMT         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Wed, 01 Oct 2025 07:24:36 GMT           File
Wed, 01 Oct 2025 07:24:36 GMT         "/root/.cache/uv/builds-v0/.tmpisps1h/lib/python3.11/site-packages/hatchling/builders/plugin/interface.py",
Wed, 01 Oct 2025 07:24:36 GMT         line 147, in build
Wed, 01 Oct 2025 07:24:36 GMT             build_hook.initialize(version, build_data)
Wed, 01 Oct 2025 07:24:36 GMT           File
Wed, 01 Oct 2025 07:24:36 GMT         "/root/.cache/uv/sdists-v9/pypi/coincurve/21.0.0/DQ1iYVIp54KEKTujF5Poy/src/hatch_build.py",
Wed, 01 Oct 2025 07:24:36 GMT         line 34, in initialize
Wed, 01 Oct 2025 07:24:36 GMT             raise RuntimeError(message)
Wed, 01 Oct 2025 07:24:36 GMT         RuntimeError: Expected exactly one LICENSE file in cffi distribution,
Wed, 01 Oct 2025 07:24:36 GMT         got 0
Wed, 01 Oct 2025 07:24:36 GMT
Wed, 01 Oct 2025 07:24:36 GMT         hint: This usually indicates a problem with the package or the build
Wed, 01 Oct 2025 07:24:36 GMT         environment.
Wed, 01 Oct 2025 07:24:36 GMT     help: `coincurve` (v21.0.0) was included because `cln-meta-project` (v0.1.0)
Wed, 01 Oct 2025 07:24:36 GMT           depends on `pyln-proto` (v25.9) which depends on `coincurve`
```

Signed-off-by: Rusty Russell <[email protected]>
@rustyrussell rustyrussell enabled auto-merge (rebase) October 2, 2025 01:09
@grubles
Copy link
Contributor

grubles commented Oct 2, 2025

I don't think the error is FreeBSD specific. I'm hitting the same on ppc64le Rocky Linux 10.

$ uv run make
  × Failed to build `coincurve==21.0.0`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `hatchling.build.build_wheel` failed (exit status: 1)

      [stderr]
      Traceback (most recent call last):
        File "<string>", line 11, in <module>
        File "/home/user/.cache/uv/builds-v0/.tmpH6KG1n/lib64/python3.12/site-packages/hatchling/build.py", line 58,
      in build_wheel
          return os.path.basename(next(builder.build(directory=wheel_directory, versions=['standard'])))
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File
      "/home/user/.cache/uv/builds-v0/.tmpH6KG1n/lib64/python3.12/site-packages/hatchling/builders/plugin/interface.py",
      line 147, in build
          build_hook.initialize(version, build_data)
        File "/home/user/.cache/uv/sdists-v9/pypi/coincurve/21.0.0/pLvGL_NhYTU30dFcvWtPz/src/hatch_build.py", line 34,
      in initialize
          raise RuntimeError(message)
      RuntimeError: Expected exactly one LICENSE file in cffi distribution, got 0

      hint: This usually indicates a problem with the package or the build environment.
  help: `coincurve` (v21.0.0) was included because `cln-meta-project` (v0.1.0) depends on `pyln-proto` (v25.9) which
        depends on `coincurve`

@rustyrussell
Copy link
Contributor Author

Can you try updating coincurve then?

@grubles
Copy link
Contributor

grubles commented Oct 2, 2025

Latest version seems to be 21.0.0. https://github.com/ofek/coincurve/releases

@rustyrussell
Copy link
Contributor Author

Latest version seems to be 21.0.0. https://github.com/ofek/coincurve/releases

Sigh. That's what broke it then, the commit which updated all the Python dependencies. I hope they fix this before we release, since I don't want to revert to an earlier one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants