fix: rebuild soul-demo.c from source, compile against el_runtime.c directly
soul-demo.c was previously an older compiled artifact that triggered an undefined reference to emit_metric/emit_log/trace_span_* at link time in CI. Two fixes: 1. Rebuild soul-demo.c from soul-demo.el using current elc — cleaner codegen (no double-wrapped el_from_float), same logic, unix_timestamp collision with el_runtime.c removed. 2. Dockerfile.stage: compile soul-demo against el_runtime.c directly (not el_runtime.o) so all runtime symbols are always resolved from the staged source, bypassing any Docker layer cache divergence on el_runtime.o.
This commit is contained in:
+4
-1
@@ -44,12 +44,15 @@ RUN cc -O2 -rdynamic \
|
||||
-lcurl -lpthread -ldl -lm -lssl -lcrypto
|
||||
|
||||
# ── Build soul-demo ───────────────────────────────────────────────────────────
|
||||
# Compile soul-demo.c with el_runtime.c directly (not el_runtime.o) so that
|
||||
# all runtime symbols — including emit_metric, emit_log, trace_span_* — are
|
||||
# always resolved from the staged source rather than a cached object file.
|
||||
COPY dist/soul-demo.c ./
|
||||
COPY dist/vessel_stubs.c ./
|
||||
|
||||
RUN cc -O2 -rdynamic \
|
||||
-o soul-demo \
|
||||
soul-demo.c vessel_stubs.c el_runtime.o \
|
||||
soul-demo.c vessel_stubs.c el_runtime.c \
|
||||
-lcurl -lpthread -ldl -lm -lssl -lcrypto
|
||||
|
||||
# ── Stage 2: runtime image ────────────────────────────────────────────────────
|
||||
|
||||
Vendored
+121
-122
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user