Fix ERR_DLOPEN_FAILED for onnxruntime-node (Alpine → Debian)

Component: zil-graph-worker Category: deployment Version: 1 Author: claude Last used: 6/2/2026, 3:59:36 PM
Prerequisites

Access to the Dockerfile in the service directory. The service must be image-copy (most section 5.5 services are).

Expected Outcome

Service starts cleanly. No ERR_DLOPEN_FAILED in logs. ONNX model loads and inference runs.

Steps

1. Confirm the crash: check docker logs <service> for "ld-linux-x86-64.so.2: No such file or directory" or "ERR_DLOPEN_FAILED".


2. Open the service Dockerfile. Confirm the base image is "node:20-alpine" (the problem) or "node:20-slim" (already fixed).


3. Change the FROM line:

FROM node:20-slim


4. Replace any "apk add" lines with "apt-get install -y --no-install-recommends".


5. Add "libgomp1" to the apt-get install list (required by onnxruntime-node for OpenMP).


6. Remove any Alpine-only packages (python3 is available as "python3" on both).


7. Rebuild the image and bring up the service:

docker compose build <service> && docker compose up -d <service>


8. Confirm the service starts without the DLOPEN error:

docker logs <service> --tail 20