fix linux

This commit is contained in:
Omar
2026-09-15 17:37:02 +02:00
parent e3215157e6
commit 5ed6759edc
3 changed files with 6 additions and 17 deletions
-16
View File
@@ -1,4 +1,3 @@
import 'dart:ffi';
import 'dart:io';
import 'package:cw_core/db/sqlite_debug.dart';
@@ -6,7 +5,6 @@ import 'package:cw_core/root_dir.dart';
import 'package:cw_core/utils/print_verbose.dart';
import 'package:flutter/foundation.dart';
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
import 'package:sqlite3/open.dart';
import 'package:path/path.dart' as p;
Database? db;
@@ -51,20 +49,6 @@ Future<void> initDb({String? pathOverride}) async {
Future<void> _initDb({String? pathOverride}) async {
if (Platform.isLinux || Platform.isWindows) {
if (Platform.isLinux) {
// The Linux bundle only installs the bundled sqlite3 shared object as
// libsqlite3_flutter_libs_plugin.so (see linux/CMakeLists.txt); load it
// directly instead of relying on a libsqlite3.so symlink, which the
// release tarball dereferences into a second copy of the same library
// and crashes the process when both copies get mapped.
open.overrideFor(OperatingSystem.linux, () {
try {
return DynamicLibrary.open('libsqlite3_flutter_libs_plugin.so');
} catch (_) {
return DynamicLibrary.open('libsqlite3.so.0');
}
});
}
databaseFactory = databaseFactoryFfi;
}
-1
View File
@@ -47,7 +47,6 @@ dependencies:
bech32:
git:
url: https://github.com/cake-tech/bech32.git
sqlite3: 3.5.1
sqlite3_flutter_libs: 0.5.40
dev_dependencies:
+6
View File
@@ -160,6 +160,12 @@ foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES})
COMPONENT Runtime)
endforeach(bundled_library)
# Copy the native assets provided by the build.dart from all packages.
set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/")
install(DIRECTORY "${NATIVE_ASSETS_DIR}"
DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
COMPONENT Runtime)
# Fully re-copy the assets directory on each build to avoid having stale files
# from a previous install.
set(FLUTTER_ASSET_DIR_NAME "flutter_assets")