Description:
Hi openpi team,
When setting up the project using uv sync (or pip install), the installation consistently fails at the av package, which is a dependency of lerobot.
Root Cause Analysis:
- The maintainers of the
av (PyAV) library recently removed the pre-compiled wheels for version 14.4.0 from PyPI to save storage space.
- Because no wheels are available, package managers (
uv/pip) are forced to build av==14.4.0 from source.
- Building from source explicitly requires FFmpeg 7, as stated in their build warnings.
- However, most standard Linux distributions (e.g., Ubuntu 22.04) ship with older FFmpeg versions (e.g., FFmpeg 4) by default. This causes the C compiler to fail with errors like
AVCodecParameters has no member named ch_layout.
Error Logs Snippet:
Failed to build av==14.4.0
...
Warning! You are installing from source.
It is EXPECTED that it will fail. You are REQUIRED to use ffmpeg 7.
...
error: ‘AVCodecParameters’ has no member named ‘ch_layout’; did you mean ‘channel_layout’?
error: command '/usr/bin/cc' failed with exit code 1
Workaround / Proposed Solution:
Since version 14.3.0 of av still has usable wheels available on PyPI, forcing a downgrade bypasses the source compilation entirely.
Adding the following to pyproject.toml temporarily resolves the issue:
[tool.uv]
override-dependencies = ["av==14.3.0"]
Alternatively, perhaps the dependency constraints in lerobot or openpi could be updated to av<14.4.0 until the PyAV team restores the wheels or a better FFmpeg 7 integration is provided.
Thanks for the great work on this project!
Description:
Hi
openpiteam,When setting up the project using
uv sync(orpip install), the installation consistently fails at theavpackage, which is a dependency oflerobot.Root Cause Analysis:
av(PyAV) library recently removed the pre-compiled wheels for version14.4.0from PyPI to save storage space.uv/pip) are forced to buildav==14.4.0from source.AVCodecParameters has no member named ch_layout.Error Logs Snippet:
Workaround / Proposed Solution:
Since version
14.3.0ofavstill has usable wheels available on PyPI, forcing a downgrade bypasses the source compilation entirely.Adding the following to
pyproject.tomltemporarily resolves the issue:Alternatively, perhaps the dependency constraints in
lerobotoropenpicould be updated toav<14.4.0until the PyAV team restores the wheels or a better FFmpeg 7 integration is provided.Thanks for the great work on this project!