GLIBC_2.38 not found
Symptom
The soc-ota-agent service enters a restart loop immediately after boot. journalctl shows:
/usr/bin/soc-ota-agent: /usr/lib/libc.so.6: version 'GLIBC_2.38' not foundsystemctl status soc-ota-agent shows activating (auto-restart).
Cause
The agent binary was compiled on a host running Ubuntu 23.10 or later (glibc 2.38) but deployed to a device whose BSP provides a lower glibc ceiling — for example, a Jetson Xavier NX running L4T r35.6.4 tops out at glibc 2.35. Static linking is not a viable workaround because the agent uses CGO (lmdb, OpenSSL), which links against the platform’s glibc NSS at runtime regardless of link flags.
Fix
Rebuild the agent inside the Yocto cross-toolchain for the target machine:
cd /path/to/multiboard_yoctosource sources/poky/oe-init-build-env build/<target-build-dir>bitbake -c cleansstate soc-ota-agentbitbake soc-ota-agentVerify the rebuilt binary does not exceed the device’s glibc ceiling:
BINARY=$(find tmp-glibc/work/ -name "soc-ota-agent" -type f | head -1)strings "$BINARY" | grep 'GLIBC_2\.' | sort -V | tail -1# Must not exceed the device BSP maximum (e.g. GLIBC_2.35 for Jetson L4T r35.x)Deploy the Yocto-built binary via scp and restart the service.