Point the build docs at the glibc check script
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
This commit is contained in:
+12
-4
@@ -161,14 +161,22 @@ on a newer userland still fails to load on an older one. A JetPack or Ubuntu
|
||||
upgrade applied to one unit and not the other reintroduces the problem, silently
|
||||
and only at runtime. **Upgrade both, or neither.**
|
||||
|
||||
The check that catches drift between them:
|
||||
The check that catches drift between them is `scripts/check-glibc.sh` in each
|
||||
service repo:
|
||||
|
||||
```bash
|
||||
objdump -T <binary> | grep -o 'GLIBC_[0-9.]*' | sort -Vu | tail -1
|
||||
scripts/check-glibc.sh target/release/svc-nav # ceiling defaults to 2.35
|
||||
```
|
||||
|
||||
It detects, it does not fix — its job is to fail the build rather than let a bad
|
||||
binary reach the car, and to name the symbol that caused it.
|
||||
| Exit | Meaning |
|
||||
|---|---|
|
||||
| 0 | Highest referenced version is at or below the ceiling |
|
||||
| 1 | Ceiling exceeded — the responsible symbols are printed |
|
||||
| 2 | **Could not check** — no `objdump`, missing binary, no versions found |
|
||||
|
||||
It detects, it does not fix; the fix is building on a unit whose release matches
|
||||
the car's. Exit 2 is distinct on purpose: a check that cannot check must not
|
||||
report success.
|
||||
|
||||
##### Cross-compiling from the workstation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user