ci: link Linux soul with -rdynamic so its http handler resolves #86

Merged
will.anderson merged 1 commits from ci/rdynamic-http-handler into main 2026-07-18 19:11:27 +00:00
Owner

Run 3388 gate caught it: the stripped Linux soul returned 'no http handler registered' for every route because the runtime dlsym-resolves handle_request and glibc needs it exported. Add -rdynamic (mirrors Windows --export-all-symbols). Fixes the gate and the deployed soul. Re-triggers build+gate+publish+deploy.

Run 3388 gate caught it: the stripped Linux soul returned 'no http handler registered' for every route because the runtime dlsym-resolves handle_request and glibc needs it exported. Add -rdynamic (mirrors Windows --export-all-symbols). Fixes the gate and the deployed soul. Re-triggers build+gate+publish+deploy.
will.anderson added 1 commit 2026-07-18 19:11:03 +00:00
ci: link the Linux soul with -rdynamic so its http handler resolves
Neuron Soul CI / build (pull_request) Failing after 13m34s
Neuron Soul CI / deploy (pull_request) Has been skipped
192b277229
Run 3388's gate failed with every route returning "el-runtime: no http
handler registered". The runtime resolves handle_request (and the tool
handlers) by name via dlsym(RTLD_DEFAULT, ...). On glibc/Linux a symbol is
only visible to dlsym if it is in the dynamic symbol table, so the stripped
CI binary booted but served nothing. macOS exports these freely, which is
why the local build passed and masked it.

Add -rdynamic to the cc link (mirrors the Windows build's
--export-all-symbols). strip -s keeps .dynsym, so the handler still
resolves after stripping. This fixes both the gate AND the actual deployed
soul — without it the Linux/GKE soul is a server that answers nothing.
will.anderson merged commit 96c57c43ba into main 2026-07-18 19:11:27 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: neuron-technologies/neuron#86