dev:patch_glfw_x11_ime.cmake 哈希常量与真实 GLFW 3.4 不符,bundled/fetch 路径配置期 FATAL
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- cmake
- Área
- build-system
Línea de trabajo
Comienza con scripts/patch_glfw_x11_ime.cmake y compara su expected_source_hash y expected_output_hash con los hashes documentados en este issue. Comprueba las rutas bundled y FetchContent a través de 3rd/dependencies.cmake usando los comandos de configuración de CMake proporcionados; se considera terminado cuando ambas rutas de GLFW superan la configuración sin un error de hash FATAL.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
问题
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 放行,构建产物与上游提交的捆绑文件逐位一致。
- Lenguaje dominante
- C++
- Estrellas
- 2k
- Forks
- 177
- Merge medio
- 2 d 1 h
- PR fusionados (30 d)
- 13
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de sudoevolve/EUI-NEO
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
sudoevolve/EUI-NEO#110 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
sudoevolve/EUI-NEO#113 ·
Los mantenedores suelen responder en 2 días
-
Windows transparent margins composite as black: bundled GLFW redirection alpha is uninitializedPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 22/100
sudoevolve/EUI-NEO#109 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 32/100
sudoevolve/EUI-NEO#106 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 18/100
sudoevolve/EUI-NEO#89 · 1 comentario ·
Los mantenedores suelen responder en 2 días
Todos los issues de sudoevolve/EUI-NEO
Issues similares
-
Windows ARM memory-leakAbiertobug docs performance
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 3 días
-
good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
good first issue neural P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
bug goto-symex
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
tech-debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
prestonbrown/helixscreen#1885 ·
Los mantenedores suelen responder en 1 día