Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#2,013 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
52/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
cmake, docker, python

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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).

主要言語
Python
スター
2.5k
フォーク
767
平均マージ
23時間 55分
マージ済み PR(30日)
25

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

crossbario/autobahn-python のほかの issue

crossbario/autobahn-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。