Files

42 lines
4.9 KiB
Markdown
Raw Permalink Normal View History

2026-09-12 16:50:30 +05:00
# KaM r16020 — Android architecture probe
Build ID: `20260908T164542Z-0843e132` · CPU: `aarch64` · Gate: **NOT_BUILDABLE_AS_IS**
Нет desktop target. Успех означает сборку выбранных Android-корней, не игровую совместимость.
| Проба | Compile + native link | APK | Ошибка / следующий шаг |
|---|---|---|---|
| platform | FAIL | NOT_RUN | /work/build/20260908T164542Z-0843e132/platform/./code/GameViewMain.pas(47,10) Error: identifier idents no member "Enabled" |
| core_types | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| core_streams | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| mission_tokens | FAIL | NOT_RUN | /work/build/20260908T164542Z-0843e132/mission_tokens/./code/GameViewMain.pas(47,10) Error: identifier idents no member "Enabled" |
| mission_info | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| terrain_io | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| sprite_loader | FAIL | NOT_RUN | /work/vendor/kam_remake/src/res/KM_ResSprites.pas(5,17) Fatal: Can't find unit LCLIntf used by KM_ResSprites |
| terrain_pathfinding | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/KromUtils.pas(7,18) Fatal: Can't find unit LCLType used by KromUtils |
| mission_world | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
| simulation | FAIL | NOT_RUN | /work/vendor/kam_remake/src/settings/KM_GameSettings.pas(6,15) Fatal: Can't find unit Forms used by KM_GameSettings |
| script_vm | FAIL | NOT_RUN | /work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/uPSCompiler.pas(6844,13) Error: Illegal expression |
| scripting | FAIL | NOT_RUN | /work/vendor/kam_remake/src/ext/pascalscript_submodule/Source/InvokeCall.inc(116,5) Error: Wrong number of parameters specified for call to "Invoke" |
| legacy_render | FAIL | NOT_RUN | /work/vendor/kam_remake/src/render/KM_Render.pas(6,17) Fatal: Can't find unit LCLIntf used by KM_Render |
| legacy_audio | FAIL | NOT_RUN | /work/vendor/kam_remake/src/ext/openal.pas(76,1) Fatal: Syntax error, "identifier" expected but "TYPE" found |
| integration | FAIL | NOT_RUN | /work/vendor/kam_remake/src/utils/io/KM_FileIO.pas(5,16) Fatal: Can't find unit lconvencoding used by KM_FileIO |
## Что установлено
`PASS` compile_link = FPC завершился успешно, найден свежий ELF нужного ABI, проверены корневые PPU. Линковка не отключена; требуются определённые символы. `PASS` APK = упаковка завершилась, проверены ZIP/DEX, правильный ABI, совпадение native library и DT_NEEDED. Подпись проверяется отдельно, если доступен apksigner. `runtime=NOT_RUN` до реального запуска на Android.
`NOT_BUILDABLE_AS_IS` — найдено препятствие в текущем коде/окружении, а не доказательство, что core надо переписать. Ошибки legacy_render/legacy_audio диагностические и не входят в обязательный gate, но их транзитивное попадание в core всё равно видно.
## Как принимать решение
| Свидетельство | Разумное решение |
|---|---|
| Корень собирается с оригинальными исходниками | Кандидат на reuse; поведение ещё проверяется отдельно |
| Активная зависимость Windows/LCL/desktop GL | Исследовать минимальное отделение платформенной части |
| Отсутствует source unit / package | Проверить комплектность исходников, условные defines и пакет для Android |
| Undefined reference / отсутствует native library | Сборка/подключение Android-библиотеки либо адаптер Castle |
| Один и тот же блокер у многих модулей | Исправить общий корень и повторить пробы; не считать это множеством отдельных переписываний |
| Срабатывает exception при запуске | Снять logcat; проверить unit initialization/lifecycle/доступ к данным |
Ни один автоматический результат здесь не выносит решение «написать подсистему с нуля».