Skip to content

uv を利用した環境構築が GitHub Codespaces 上で失敗する #1665

Description

@tarepan

不具合の内容

uv を利用した環境構築が GitHub Codespaces 上で失敗する。
依存パッケージのインストール工程 (uv sync --all-groups) で pyworld のビルドが失敗しインストール工程が failed となる。

現象・ログ

実行ログ
@tarepan ➜ /workspaces/voicevox_engine (master) $ uv sync --all-groups
warning: Ignoring existing virtual environment linked to non-existent Python interpreter: .venv/bin/python3 -> python
Using CPython 3.11.9
Removed virtual environment at: .venv
Creating virtual environment at: .venv
Resolved 85 packages in 1ms
   Updating https://github.com/VOICEVOX/pyopenjtalk (74703b034dd90a1f199f49bb70bf3b66b1728a86)
      Built docopt==0.6.2
   Building pyworld==0.3.5
⠼ Preparing packages... (78/80)                                                                                                                                                                              × Failed to build `pyworld==0.3.5`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)

      [stdout]
      running bdist_wheel
      running build
      running build_py
      creating build/lib.linux-x86_64-cpython-311/pyworld
      copying pyworld/__init__.py -> build/lib.linux-x86_64-cpython-311/pyworld
      running build_ext
      Compiling pyworld/pyworld.pyx because it changed.
      [1/1] Cythonizing pyworld/pyworld.pyx
      building 'pyworld.pyworld' extension
      creating build/temp.linux-x86_64-cpython-311/lib/World/src
      creating build/temp.linux-x86_64-cpython-311/pyworld
      clang++ -pthread -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -fPIC -Ilib/World/src
      -I/home/vscode/.cache/uv/builds-v0/.tmpF1oPFN/lib/python3.11/site-packages/numpy/_core/include -I/home/vscode/.cache/uv/builds-v0/.tmpF1oPFN/include
      -I/home/vscode/.local/share/uv/python/cpython-3.11.9-linux-x86_64-gnu/include/python3.11 -c lib/World/src/cheaptrick.cpp -o build/temp.linux-x86_64-cpython-311/lib/World/src/cheaptrick.o

      [stderr]
      /home/vscode/.cache/uv/builds-v0/.tmpF1oPFN/lib/python3.11/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This
      has changed from earlier releases! File: /home/vscode/.cache/uv/sdists-v9/pypi/pyworld/0.3.5/zIFCPUnNYHHduZClzCVpx/src/pyworld/pyworld.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      error: command 'clang++' failed: No such file or directory

      hint: This usually indicates a problem with the package or the build environment.
  help: `pyworld` (v0.3.5) was included because `voicevox-engine` (v0.24.0) depends on `pyworld`

再現手順

  1. GitHub Codespaces の mcr.microsoft.com/devcontainers/python:1-3.11-bookworm image を用いた Python 環境に uv を導入
  2. uv sync --all-groups を実行

期待動作

依存パッケージが正常に導入される。

VOICEVOXのバージョン

0.24.0-dev

OSの種類/ディストリ/バージョン

  • Linux
$  cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

その他

#1616 のレビューの途中段階では正常動作を確認済みでした。その後の追加 commit で壊れたとかでしょうか?
c.c. @nanae772

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions