diff --git a/apps/app_seeds/lib/db/encrypted_executor.dart b/apps/app_seeds/lib/db/encrypted_executor.dart index 8c1f60d..5678a86 100644 --- a/apps/app_seeds/lib/db/encrypted_executor.dart +++ b/apps/app_seeds/lib/db/encrypted_executor.dart @@ -19,9 +19,13 @@ void useSqlCipher() { } DynamicLibrary _openLinuxCipher() { - // The dev package ships the `libsqlcipher.so` symlink; runtime packages ship - // only a versioned name (`.so.0`, `.so.1`, …). Try them in turn. + // sqlcipher_flutter_libs statically links SQLCipher inside its plugin .so and + // exports the sqlite3_* symbols — and it is ABI-matched to the `sqlite3` Dart + // package. Prefer it; the system libsqlcipher is a different build (linked to + // system libcrypto) and segfaults on open. Fall back to the system lib only + // if the bundled plugin isn't present (e.g. some test/CI layouts). const candidates = [ + 'libsqlcipher_flutter_libs_plugin.so', 'libsqlcipher.so', 'libsqlcipher.so.1', 'libsqlcipher.so.0',