From 106ee8ce14aa67c3825fca6fb537a557b44ecd86 Mon Sep 17 00:00:00 2001 From: jenkins Date: Sun, 13 Sep 2026 15:44:44 -0500 Subject: [PATCH] hermes: select the fixed SQLite library on ARM --- dockerfiles/Dockerfile.hermes-agent | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dockerfiles/Dockerfile.hermes-agent b/dockerfiles/Dockerfile.hermes-agent index f59109a1..3f19ef1e 100644 --- a/dockerfiles/Dockerfile.hermes-agent +++ b/dockerfiles/Dockerfile.hermes-agent @@ -56,7 +56,10 @@ FROM ${HERMES_AGENT_BASE} AS sqlite-runtime USER root COPY --from=sqlite-build /opt/sqlite/lib/ /usr/local/lib/ -RUN ldconfig \ +# Debian's arm64 multiarch path sorts ahead of libc.conf, which otherwise picks +# the older system SQLite before /usr/local/lib. Keep the checked library first. +RUN printf '%s\n' /usr/local/lib > /etc/ld.so.conf.d/00-hermes-sqlite.conf \ + && ldconfig \ && /opt/hermes/.venv/bin/python -c 'import sqlite3; connection=sqlite3.connect(":memory:"); connection.execute("CREATE VIRTUAL TABLE documents USING fts5(body)"); connection.execute("CREATE VIRTUAL TABLE ranges USING rtree(id, low, high)"); assert connection.execute("SELECT json_valid(?), sqrt(9)", ("[]",)).fetchone() == (1, 3.0); options={row[0] for row in connection.execute("PRAGMA compile_options")}; required={"ENABLE_COLUMN_METADATA", "ENABLE_FTS4", "ENABLE_FTS5", "ENABLE_MATH_FUNCTIONS", "ENABLE_PREUPDATE_HOOK", "ENABLE_RTREE", "ENABLE_SESSION", "ENABLE_UNLOCK_NOTIFY", "ENABLE_UPDATE_DELETE_LIMIT"}; assert required <= options, sorted(required - options); assert sqlite3.sqlite_version_info >= (3, 51, 3), sqlite3.sqlite_version' FROM sqlite-runtime