Cache native libe_sqlite3.so install into Eco's apphost dir #24
Labels
No labels
burndown-2026-06
burndown-2026-08
headless
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/eco-app#24
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally filed by @coilysiren on 2026-05-18T06:45:38Z
Problem
Eco's mod loader uses
AssemblyLoadContext.Default.LoadFromStream, which doesn't add the mod folder to .NET's native-library search path. So whenMicrosoft.Data.SqliteP/Invokese_sqlite3, the runtime looks in Eco's apphost extraction dir (e.g.~/.net/EcoServer/<hash>/) and not inMods/EcoReplay/.Current workaround: manual symlink:
The hash
oXJfcCrti-5Iis stable per Eco-binary build but resets when Eco updates.Next steps
install-modstep (Makefile target) that re-symlinks after every install/Eco-update.Microsoft.Data.Sqlitein favor of a pure-managed SQLite (e.g.dotnet/runtime's built-inSystem.Data.SQLiteonce a Linux-native build is in the chain — see the work already done in /tmp during overnight session to buildlibSQLite.Interop.sofrom SDS 1.0.119 source).SetDllImportResolvermore aggressively, called from a module-initializer instead of fromInitialize()so it fires before any other code touchesMicrosoft.Data.Sqlite. The current resolver code is wired up but Eco's pre-init reflection scan likely triggersSqliteConnection's static cctor before my plugin'sInitializeruns.Migrated from coilyco-flight-deck/eco-replay#6 during the eco repo consolidation (coilysiren/inbox#100).
Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag:
burndown-2026-06.