add glibc rec

This commit is contained in:
larssand
2026-09-02 19:53:16 +02:00
parent 483a9dbd5a
commit 9aeb638211
8 changed files with 55 additions and 5 deletions

View File

@@ -69,6 +69,8 @@ Each physical decoder needs a unique IP. Each enabled AMMC process needs a uniqu
AMMC runs on the computer started with `npm start` or `npm.cmd start`, not on a remote browser laptop.
On x86-64 Linux, the bundled `AMMC/linux_x86-64/ammc-amb` requires GLIBC 2.39 or newer. Check with `ldd --version` or `npm run verify`. RC RaceCore itself may run on an older host, but this bundled AMMC binary will not.
1. Start the backend and open `Settings`.
2. From remote devices use backend URL `http://192.168.1.100:8081`.
3. Enable `Managed AMMC`.
@@ -151,6 +153,7 @@ This opens TCP `8081` and `9000-9003`. Use these ports only on a trusted LAN. Ne
|---|---|---|
| Decoder offline | Main WebSocket unavailable | AMMC main, port `9000`, firewall |
| AMMC starts then exits | Decoder IP, binary, or library error | AMMC log and ping from backend |
| `GLIBC_2.39 not found` | Bundled Linux AMMC is newer than the host GLIBC | Use GLIBC 2.39+ or a compatible AMMC build; never replace system GLIBC manually |
| Remote laptop opens UI but receives no timing | URL uses `127.0.0.1` | Use `ws://<backend-IP>:9000` |
| Main works but Split does not | Split disabled or port blocked | Decoder `.11`, port `9001`, Timing status |
| Pit entry works but no stop closes | Pit exit missing/wrong role | Decoder `.13`, port `9003`, separate loop |

View File

@@ -80,6 +80,8 @@ Varje fysisk decoder ska ha en unik IP. Varje aktiverad AMMC-process ska ha en u
AMMC körs på samma dator som startats med `npm start` eller `npm.cmd start`. Webbläsaren kan köras på en annan dator.
På Linux x86-64 kräver den bundlade `AMMC/linux_x86-64/ammc-amb` GLIBC 2.39 eller senare. Kontrollera med `ldd --version` eller `npm run verify`. RC RaceCore kan köras på en äldre host, men just denna bundlade AMMC-binär fungerar då inte.
1. Starta backend.
2. Öppna `Inställningar`.
3. Kontrollera `Backend URL`: `http://192.168.1.100:8081` från andra datorer.
@@ -186,6 +188,7 @@ Det öppnar TCP `8081` och `9000-9003`. Öppna endast portarna på ett betrott L
|---|---|---|
| `Decoder offline` | Main WebSocket kan inte nås | AMMC main kör, port `9000`, brandvägg |
| AMMC startar men stannar | Fel decoder-IP, binär eller bibliotek | AMMC-logg och ping från backend |
| `GLIBC_2.39 not found` | Bundlad Linux-AMMC är nyare än hostens GLIBC | Använd GLIBC 2.39+ eller kompatibel AMMC-build; byt aldrig systemets GLIBC manuellt |
| Laptop når sidan men inte tider | WS-url använder `127.0.0.1` | Byt till `ws://<backend-IP>:9000` |
| Main fungerar men split saknas | Split ej aktiverad eller port blockerad | `.11`, port `9001`, status i Tidtagning |
| Depå in visas men inget stopp skapas | Depå ut saknas eller använder fel roll | `.13`, port `9003`, separat fysisk loop |

View File

@@ -238,7 +238,8 @@ flowchart LR
AllowScripts --> Native[better-sqlite3 v12 Windows prebuilt]
NpmCi --> Postinstall[scripts/verify-install.js]
Postinstall --> SQLite[SQLite in-memory query]
Postinstall --> AMMC[AMMC/windows64 runtime check]
Postinstall --> AMMC[Platform AMMC runtime check]
AMMC --> Glibc[Linux x64 GLIBC >= 2.39 warning]
SetupPs --> ServerCtl[scripts/serverctl.js]
```
@@ -247,6 +248,7 @@ Important constraints:
- `better-sqlite3` is pinned to v12.11.x because its prebuilt Windows binary works with the supported Node.js releases; npm 12 is permitted to run only this dependency installer through `package.json#allowScripts`
- `npm ci --ignore-scripts` is unsupported because it leaves the native SQLite binding uninstalled
- AMMC Windows binaries and DLLs must remain together in `AMMC\\windows64`
- the bundled Linux x86-64 AMMC requires GLIBC 2.39+; `verify-install.js` reports host compatibility and executable permission without blocking the RC RaceCore server
- `npm start` is already a background start; batch wrappers must not create a second detached npm process
- server process identity is stored in `data\\server.pid`
- Windows stdout/stderr use `logs\\server.out.log` and `logs\\server.err.log`