dev:patch_glfw_x11_ime.cmake 哈希常量与真实 GLFW 3.4 不符,bundled/fetch 路径配置期 FATAL
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- cmake
- Ambito
- build-system
Direzione di ricerca
Inizia da scripts/patch_glfw_x11_ime.cmake e confronta il relativo expected_source_hash e expected_output_hash con gli hash documentati in questa issue. Verifica i percorsi bundled e FetchContent tramite 3rd/dependencies.cmake usando i comandi di configurazione CMake forniti; il lavoro è completato quando entrambi i percorsi GLFW superano la configurazione senza un errore di hash FATAL.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
问题
dev 分支新增的 scripts/patch_glfw_x11_ime.cmake(#78 修复,4691fc0 同提交加入)中 expected_source_hash / expected_output_hash 两个常量与官方 GLFW 3.4 的真实哈希均不符,导致 bundled 与 fetch 两条 GLFW 引入路径在 CMake 配置期直接 FATAL。叠加 auto 模式遇系统 GLFW 3.3 的编译问题(另见配套 issue),dev 分支在 Linux + GLFW 后端下目前三条引入路径都无法构建成功。
环境
| 项 | 值 |
|---|---|
| 系统 | Ubuntu 24.04.5,CMake 3.28.3 |
| EUI-NEO | dev 4691fc0a5c1fde6f3e22f1ac454ed87c7a17f722 |
复现(bundled)
cmake -S . -B build-bundled -DEUI_DEPS_MODE=bundled -DGLFW_BUILD_WAYLAND=OFF
CMake Error at 3rd/dependencies.cmake:291 (message):
Failed to prepare the GLFW X11 IME fix:
CMake Error at scripts/patch_glfw_x11_ime.cmake:20 (message):
Unsupported GLFW X11 source hash
8CE625AA965D6DA401CE3F4992FDB53AC4ECD34BC00B22BBAEFFAB41F72B0DAE; expected
bundled GLFW 3.4 BBCBDD40E744D3FD83E439A13E0C03F0EC6256C6C7D19A456C0BA20E1CA36C91
or patched B1B9E54E20A687EC45E869D0D0E942220D68F087BF0727CB2091C7E9BF56ED12.
(报错里的 8CE625AA... 是当前 dev 捆绑文件——4691fc0 已把 6 行修复直接提交进 3rd/glfw/src/x11_window.c——即脚本认不出自己仓库里的文件。fetch 路径同理失败:脚本下载的正是官方 3.4 zip,其原始 x11_window.c 也不在白名单内。)
哈希取证
| 文件 | 实测 SHA256 |
|---|---|
官方 GLFW 3.4 zip(SHA256 a133ddc3...,与 3rd/dependencies.cmake FetchContent 的 URL_HASH 一致)解出的 src/x11_window.c |
7C5A60A507767C5B311437A74E85E547914DF631BE4F74FA75746063762019DA |
脚本 expected_source_hash(注释称"bundled GLFW 3.4") |
BBCBDD40... —— 与官方 3.4 真实文件不符 |
dev 捆绑文件 3rd/glfw/src/x11_window.c(已含 6 行修复) |
8CE625AA965D6DA401CE3F4992FDB53AC4ECD34BC00B22BBAEFFAB41F72B0DAE |
按脚本自身的字符串替换逻辑(KeyPress/KeyRelease 两处插入 if (filtered) return;)对官方 3.4 原始文件手工变换的产物 |
8CE625AA... —— 与 dev 捆绑文件逐位一致 |
脚本 expected_output_hash |
B1B9E54E... —— 不对应任何真实文件 |
结论:expected_output_hash 的正确值应为 8CE625AA...(即补丁变换的真实产物/dev 捆绑文件现状),两个常量目前都匹配不到任何真实文件。
期望(建议修复,任一)
- 更新两个哈希常量为实测值(pristine
7C5A60A5...、patched8CE625AA...); - 或改为按 KeyPress/KeyRelease 上下文匹配做幂等判断,不依赖哈希白名单(对 GLFW 升级更健壮)。
临时绕行(本地验证用)
把 expected_output_hash 改为 8CE625AA965D6DA401CE3F4992FDB53AC4ECD34BC00B22BBAEFFAB41F72B0DAE,脚本即按"已打补丁"COPYONLY 放行,构建产物与上游提交的捆绑文件逐位一致。
- Lingua principale
- C++
- Stelle
- 2k
- Fork
- 177
- Merge medio
- 19h 58m
- PR unite (30g)
- 9
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di sudoevolve/EUI-NEO
-
SDL2 Windows build fails: move/resize fallback helper is inside the X11 guardForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
sudoevolve/EUI-NEO#110 ·
I maintainer di solito rispondono entro 2 giorni
-
在linux上使用触摸屏没法直接滑动翻页Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
sudoevolve/EUI-NEO#116 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
perf(text): avoid repeated glyph outline loads during measurementForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
sudoevolve/EUI-NEO#113 ·
I maintainer di solito rispondono entro 2 giorni
-
Windows transparent margins composite as black: bundled GLFW redirection alpha is uninitializedForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 22/100
sudoevolve/EUI-NEO#109 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 32/100
sudoevolve/EUI-NEO#106 ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di sudoevolve/EUI-NEO
Issue simili
-
v9.6.0: CMake incorrectly enforces presence of libevdevForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno
-
Rowan (2017) electron heating gives NaN for beta > beta_max; clip() then sets electrons to kel_minAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
parthenon-hpc-lab/kharma#213 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
metasequoiaime/msime#9113 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
tone-3000/tone3000-plugin#257 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Locked plugin flip-flops position on every refresh after being disabledForse già presa @Illustar0 l’ha presa oggi. Apertaissue report
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
ModOrganizer2/modorganizer#2449 ·