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

[Other] setup.sh --update on an Intel (SYCL) install always ends with "the engine was NOT: it is still 0.1.12": engine_version() reads the launcher script the config names as exe

オープン 初心者向け
#4,544 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

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

@ctr-137 がすでに取り組んでいます。

2026年10月29日 から。

  • #4645 @ctr-137 による — オープン

評価

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

調査の方向性

setup.pyのconfigループと、ループ後にバージョンを確認するengine_version()呼び出しから始め、issueに記載されたengine_version_of()とSYCL configのexeパスを調べます。./setup.sh --backend sycl --update --yesで再現し、報告されたバージョンをengine-sycl/BUILD.jsonまたはビルド済みバイナリと比較します。更新時に実際のSYCLエンジンのバージョンが報告され、誤った警告が表示されなくなれば完了です。

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

説明

Area

[Other] (setup and installation)

Desktop app, Terminal or source?

Source (setup.sh, SYCL build from source)

What happened

On an Intel install every ./setup.sh --backend sycl --update ends with a failure message although nothing failed:

  [ok] numpy, jinja2, regex, pyyaml, tqdm, requests, pillow, psutil, textual (the screens) already installed
  [ok] thinkingcap-flash-next-iq4_xs: up to date
  [ok] swift-1.5-iq3_s: up to date
  [ok] qwen3.8-flash-next-iq3_s: up to date

  [!]  Strata's files are updated, but the engine was NOT: it is still 0.1.12 and this Strata wants 0.1.46 or newer. The model still starts with the old engine.
  Next step: check the internet connection (and that the model window is closed), then run ./update.sh again; the line above this one says why the engine was not fetched.

The engine is the one just built from this checkout (build-sycl-aot/strata --version prints strata 0.1.53, and engine-sycl/BUILD.json, which this same setup run wrote, says "version": "0.1.53"). The "Strata is updated (engine …)" line never appears on a SYCL install, and the advice (internet connection, run update.sh again) sends the user in circles. Expected: the real engine version, or the version from engine-sycl/BUILD.json.

Cause, from reading setup.py (v0.2.7.1, the same on main today):

  • after the config loop, ver = engine_version(Path(json.loads(have[0].read_text(...))["exe"])).
  • on Intel the config's exe is sycl/serve/strata-sycl.sh (the launcher script that starts the engine in the container), so engine_version() looks for sycl/serve/BUILD.json (does not exist) and then searches the shell script's bytes for engine=X.Y.Z\n (not there), and falls back to "0.1.12" ("a binary without it is older").
  • (0, 1, 12) < MIN_ENGINE → the warning and return 0.

A fix would be: when the config's backend is sycl (or the exe is the launcher), take the version from engine-sycl/BUILD.json (engine_version_of() already exists) or from the real binary the launcher runs (STRATA_SYCL_BIN, default build-sycl-aot/strata), which does carry the engine= line.

Smallest steps or command that reproduce it
  1. Intel install as in docs/INTEL_ARC.md (engine built from source in the strata-sycl-dev image, config written by setup_intel.py).
  2. ./setup.sh --backend sycl --update --yes
  3. The last lines are the warning above. Same on 0.2.6 (2026-10-26) and 0.2.7.1 (2026-10-28).
Reproduction status

Reproduced locally

Strata version

Source checkout v0.2.7.1 (46c152a1), engine built from it: strata 0.1.53

Graphics card, memory and system

Intel Arc Pro B70 32 GB · 62 GB RAM · Debian 13 (kernel 7.2.6, xe driver); engine in the strata-sycl-dev container

Model, size and settings

Qwen3.8-Flash-Next IQ3_S and Swift 1.5 IQ3_S configs from setup_intel.py, 256K context, pictures off (not relevant to the bug)

Logs

The setup output above is the whole relevant part; setup.py lines: engine_version() (the "0.1.12" fallback) and the if any(ver) and tuple(ver) < MIN_ENGINE: block after the config loop.

主要言語
C++
スター
11.6k
フォーク
1k
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

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

Niko1221/Strata のほかの issue

Niko1221/Strata の issue をすべて見る

似ている issue

C++ の issue をもっと見る

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

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