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

flatc is missing from the PyPy aarch64 wheel and from every install built from the sdist

Abierto
#2,013 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
52/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
cmake, docker, python

Línea de trabajo

Read hatch_build.py and the [tool.hatch.build.targets.sdist] section of pyproject.toml, then inspect docker/Dockerfile.pypy-{bookworm,trixie}-manylinux-arm64 and the wheel build workflow. First confirm the reported missing-CMake warning in the PyPy ARM64 build log. Done when sdist-based installs and the PyPy ARM64 wheel include autobahn/_flatc/bin/flatc, and CI rejects a wheel missing it.

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

Descripción

bug CI-CD

Problem

autobahn bundles the FlatBuffers compiler as autobahn/_flatc/bin/flatc, and
autobahn._flatc.get_flatc_path() returns it. Two kinds of installs have no flatc:

  1. The PyPy Linux aarch64 wheel. In 26.10.1, 31 of the 32 wheels contain flatc
    (3.4-4.4 MB). autobahn-26.10.1-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
    contains only autobahn/_flatc/__init__.py, which is why it is 669 KB, where the other wheels are 2.0-3.4 MB.
    26.7.1 has the same gap (656 KB, no flatc).

  2. Every install built from the sdist, i.e. every platform or interpreter without a
    matching wheel. The sdist excludes /deps/flatbuffers (pyproject.toml,
    [tool.hatch.build.targets.sdist], since #1797), so hatch_build.py _build_flatc()
    prints WARNING: .../deps/flatbuffers not found and returns without building it.
    Example: PyPy 8 (pp80), for which no wheel is published:

    $ uv venv -p pypy-3.11 v && uv pip install -p v/bin/python autobahn==26.10.1
    $ v/bin/python -c 'from autobahn._flatc import get_flatc_path; get_flatc_path()'
    FileNotFoundError: flatc binary not found at .../site-packages/autobahn/_flatc/bin/flatc.
    This may indicate a corrupted installation. Try reinstalling: pip install --force-reinstall autobahn
    

    (the installed wheel is pp311-pypy311_pp80-linux_x86_64, built locally from the sdist).

Both failures are silent at build time: _build_flatc() only prints a warning, and the
release fileset check counts wheels, not their contents.

Likely causes

  • PyPy aarch64: _build_flatc() skips the build when cmake is not on PATH
    (WARNING: cmake not found, skipping flatc build). The custom PyPy ARM64 images
    (docker/Dockerfile.pypy-{bookworm,trixie}-manylinux-arm64) do not install cmake; the
    build log of the wheels-arm64 PyPy job should show the warning. Not yet confirmed from the log.
  • sdist: zlmdb keeps the FlatBuffers C++ sources needed for flatc in its sdist and only
    excludes tests/, samples/, docs/ and the other language bindings from
    /deps/flatbuffers; autobahn excludes the whole directory.

Proposal

  1. Install cmake in the PyPy ARM64 images (or in build-arm64-wheel.sh).
  2. Include the parts of deps/flatbuffers that flatc needs in the sdist, as zlmdb does.
  3. Make a missing flatc fail the wheel build in CI (e.g. an AUTOBAHN_REQUIRE_FLATC
    switch, or a check of every wheel's contents in the release workflow), so a wheel
    without flatc cannot be published again.

This issue was drafted with AI assistance (Claude Code).

Lenguaje dominante
Python
Estrellas
2.5k
Forks
767
Merge medio
23 h 55 min
PR fusionados (30 d)
25

Preparar el entorno

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 crossbario/autobahn-python

Todos los issues de crossbario/autobahn-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.