Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

CLN v26.06.8 doesn't compile on nixOS

Abierto Apto para principiantes
#9,593 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
90/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
nixos, python
Área
build-system

Línea de trabajo

Empieza con nix/pkgs/default.nix y compara la rama de release con las correcciones de master; inspecciona la regla de doc/Makefile y devtools/blockreplace.py solo cuando sea necesario. Ejecuta el comando nix build indicado en NixOS y considera terminado el issue cuando v26.06.8 compile correctamente el objetivo doc/index.rst.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Summary

nix build fails for v26.06.8 when building the doc/index.rst target. The fix is already on master but isn't in any release tag. Meanwhile, the NixOS section of the installation docs on master tells users to build a release tag (v26.06.1), and that tag doesn't include the fix either.

Steps to reproduce

On NixOS (I reproduced it in a nixos/nix:latest container, linux/amd64):

git clone https://github.com/ElementsProject/lightning.git
cd lightning
git checkout v26.06.8
git submodule update --init --recursive
nix build '.?submodules=1' --print-build-logs
Error
cln> /nix/store/ciarnmsx8lvsrmdbjddpmx0pqjrm8imb-bash-5.3p3/bin/bash: line 1: devtools/blockreplace.py: Permission denied
cln> make: *** [doc/Makefile:324: doc/index.rst] Error 126
cln> rm ccan-tal.o ccan-err.o ccan-time.o ccan-crypto-shachain.o ccan-opt-parse.o ccan-isaac.o ccan-closefrom.o external/build-x86_64-unknown-linux-gnu/jsmn-build/jsmn.o ccan-strset.o ccan-tal-link.o ccan-ilog.o ccan-rbuf.o ccan-opt-usage.o ccan-membuf.o ccan-utf8.o ccan-str.o ccan-list.o ccan-bitops.o ccan-mem.o ccan-crypto-hkdf.o ccan-crypto-siphash24.o ccan-io-fdpass.o ccan-noerr.o ccan-opt-helpers.o ccan-bitmap.o ccan-htable.o ccan-json_escape.o ccan-pipecmd.o ccan-io-poll.o ccan-timer.o ccan-crc32c.o ccan-str-base32.o ccan-tal-str.o ccan-crypto-ripemd160.o ccan-take.o ccan-tal-grab_file.o ccan-read_write_all.o ccan-rune-rune.o ccan-fdpass.o ccan-asort.o ccan-breakpoint.o ccan-json_out.o ccan-strmap.o ccan-cdump.o ccan-tal-path.o ccan-crypto-hmac.o ccan-str-hex.o external/build-x86_64-unknown-linux-gnu/libwally-core-build/src/secp256k1/libsecp256k1.la ccan-ptr_valid.o external/build-x86_64-unknown-linux-gnu/libwally-core-build/src/libwallycore.la ccan-isaac64.o ccan-intmap.o ccan-base64.o ccan-io-io.o ccan-rune-coding.o ccan-opt.o ccan-crypto-sha256.o
error: Cannot build '/nix/store/ri03gak9d26yw4qpj5c20823p8rx4mmn-cln.drv'.
       Reason: builder failed with exit code 2.
       Output paths:
         /nix/store/pdsk63hz0k39iz3y42m66k4k7zpgw3si-cln
Cause
  1. configure looks for Python with uv run python3 --version (default_python()). uv isn't part of the Nix derivation, so PYTHON ends up empty.
  2. The doc/index.rst rule runs $(PYTHON) devtools/blockreplace.py ..., so with PYTHON empty the shell runs the script directly.
  3. In the release tree, devtools/blockreplace.py is mode 100644 (not executable), so the shell fails with Permission denied.
Fix on master, missing from releases

master already has both fixes:

  • 531673a441 nix: fix nix build and simplify NixOS install docs: adds preConfigure = "export PYTHON=python3"; to nix/pkgs/default.nix (and blockreplace.py to patchShebangs)
  • fb0c10cde6 devtools/blockreplace.py: make executable

Running git tag --contains 531673a441 returns nothing, so the release hasn't the fix.

The smallest change that fixes the build on the release branch is this one line in nix/pkgs/default.nix after line 77:

preConfigure = "export PYTHON=python3";
Environment
  • Core Lightning: v26.06.8
  • Nix: nixos/nix:2.35.2 Docker image, nix-command and flakes enabled
Lenguaje dominante
C
Estrellas
3.1k
Forks
1k
Merge medio
4 d 2 h
PR fusionados (30 d)
45

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ElementsProject/lightning

Todos los issues de ElementsProject/lightning

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.