Push261026 — v2 2.1.4(OpenTUI 0.6.8 ABI 修复)+ v2 2.0.32
GitHub Release · 中文版 · English · Español · 日本語 · 繁體中文
概览
本批为 native 家族的 v2 两个版本,各出 deb + pacman
.pkg.tar.xz,共 4 包 +
SHA256SUMS.txt:
| 版本 | 渲染器 ABI | 说明 |
|---|---|---|
| 2.0.32 | opentui 0.5.17 | 2.0 线末版 |
| 2.1.4 | opentui 0.6.8 | 2.1 线首个 0.6.x 渲染器 ABI |
两个版本是两条 ABI
轨,按需要选线,不是「越新越好」;它们共用
opencode 包名,安装其一即替换另一。
关键修复:2.1.4 TUI 启动崩溃
2.1.4 首个构建把 0.5.x 时代的 bionic libopentui 覆盖进了所有版本的运行时目录。2.1.4 的 JS 绑定是 0.6.8,初始化即报:
Error: Failed to initialize OpenTUI render library:
Symbol "ot_scene_set_hooks" not found
表现是 --version、serve 均正常,唯独交互式
TUI 直接退出。
修复(commit d7ddcb5):
- 从上游
sst/OpenTUI v0.6.8源码重建 bioniclibopentui.so(导出面与上游同版本 glibc 件逐符号比对,1829 个导出符号零缺失;readelf -d无libc.so.6)。 - 构建按
OPENTUI_VER选件:0.5.*用既有 tlsdesc 件、0.6.8用新件、其它版本硬失败,不再静默回落到错 ABI。 - FFI 符号门按 ABI 分表(0.6.x 使用
ot_scene_set_hooks与ot_session_*kitty 传输面)。
验证
实机环境:Android 9 / kernel 3.18.140-mokee /
aarch64。
- 2.0.32:
--version正确、serveHTTP 200、TUI 输出 123,184 B、15 s 存活。 - 2.1.4:
--version正确、serveHTTP 200、TUI 输出 101,980 B、tmux 抓屏含 banner / 输入框 / 会话列表、15 s 存活。 - 两版本
make verify-artifactPASS(seccomp 加固 + web UI 资产);嵌入的渲染库带ot_scene_set_hooks且无 glibc NEEDED;仓库 shell 测试 76 ok。
范围
- 仅 native。compressed(UPX)与 wrapper 家族本批未构建。
- v1 仍为 1.19.3:上游 1.19.4 的
effect 4.0.0-beta.83在 3.18 内核上启动即 SIGSEGV,需源码重建(effect 升级 + 匹配 OpenTUI)后才发布。
已知问题
- v1 1.18.35 及以上(含 1.19.x)与更早的 v2 版本在老内核(< 4.x)上的 TUI 问题依旧,详见 Push261016 发布页。本批 2.0.32 与 2.1.4 已在 3.18.140 实测 TUI 可用。
- v2 与
opencode1共存安装时,旧包共享 seccomp shim 路径,dpkg需--force-overwrite;后续批次将消除该冲突。
安装
# pacman
pacman -U ./opencode-2.1.4-1-aarch64.pkg.tar.xz
pacman -U ./opencode-2.0.32-1-aarch64.pkg.tar.xz
# dpkg
dpkg -i ./opencode_2.1.4_aarch64.deb
dpkg -i ./opencode_2.0.32_aarch64.deb验证
sha256sum -c SHA256SUMS.txt