tursodatabase/turso

Rusqlite support

Open

#2,784 opened on 2025年8月25日

GitHub で見る
 (0 comments) (0 reactions) (0 assignees)Rust (1,001 forks)github user discovery
enhancementhelp wanted

Repository metrics

Stars
 (19,103 stars)
PR merge metrics
 (PR metrics pending)

説明

We're not missing that many symbols to support Rusqlite it seems:

diff --git a/libsqlite3-sys/build.rs b/libsqlite3-sys/build.rs
index 627c1a6..50b6e78 100644
--- a/libsqlite3-sys/build.rs
+++ b/libsqlite3-sys/build.rs
@@ -335,7 +335,7 @@ fn lib_name() -> &'static str {
     if cfg!(any(feature = "sqlcipher", feature = "bundled-sqlcipher")) {
         "sqlcipher"
     } else {
-        "sqlite3"
+        "turso_sqlite3"
     }
 }
penberg@vonneumann rusqlite % export SQLITE3_LIB_DIR=../turso/target/debug/
penberg@vonneumann rusqlite % cargo run --example persons
   Compiling libsqlite3-sys v0.35.0 (/Users/penberg/src/tursodatabase/rusqlite/libsqlite3-sys)
   Compiling rusqlite v0.37.0 (/Users/penberg/src/tursodatabase/rusqlite)
error: linking with `cc` failed: exit status: 1
  |
  = note:  "cc" "/var/folders/0n/v8sb64557vx78c6z4rqb8st40000gn/T/rustc4tePja/symbols.o" "<51 object files omitted>" "/Users/penberg/src/tursodatabase/rusqlite/target/debug/deps/{librusqlite-3619382dbaa76e90.rlib,libbitflags-6d9d4619a30dcce5.rlib,libsmallvec-b55da1ce89612d5e.rlib,libhashlink-88cc16cbbda6a14f.rlib,libhashbrown-81c65f0fe923450f.rlib,libfoldhash-517dccfcc8f370bf.rlib,liblibsqlite3_sys-0d47333ce44c69cc.rlib,libfallible_streaming_iterator-6e402fcc1e853048.rlib,libfallible_iterator-ad3647e065739363.rlib}.rlib" "<sysroot>/lib/rustlib/aarch64-apple-darwin/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,libcfg_if-*,liblibc-*,liballoc-*,librustc_std_workspace_core-*,libcore-*,libcompiler_builtins-*}.rlib" "-lturso_sqlite3" "-lSystem" "-lc" "-lm" "-arch" "arm64" "-mmacosx-version-min=11.0.0" "-L" "../turso/target/debug/" "-o" "/Users/penberg/src/tursodatabase/rusqlite/target/debug/examples/persons-eab477a7012b1691" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: Undefined symbols for architecture arm64:
            "_sqlite3_bind_zeroblob", referenced from:
                rusqlite::statement::Statement::bind_parameter::h88bc0362b412dc0a in persons-eab477a7012b1691.58dnwmnu7q2npucjcz71vp0qw.rcgu.o
            "_sqlite3_extended_result_codes", referenced from:
                rusqlite::inner_connection::InnerConnection::open_with_flags::h764f040cf583a69d in librusqlite-3619382dbaa76e90.rlib[44](rusqlite-3619382dbaa76e90.43enci871f999ob0emjwnjc0f.rcgu.o)
            "_sqlite3_mutex_alloc", referenced from:
                rusqlite::inner_connection::ensure_safe_sqlite_threading_mode::h9bca78143be9393a in librusqlite-3619382dbaa76e90.rlib[44](rusqlite-3619382dbaa76e90.43enci871f999ob0emjwnjc0f.rcgu.o)
            "_sqlite3_mutex_free", referenced from:
                rusqlite::inner_connection::ensure_safe_sqlite_threading_mode::h9bca78143be9393a in librusqlite-3619382dbaa76e90.rlib[44](rusqlite-3619382dbaa76e90.43enci871f999ob0emjwnjc0f.rcgu.o)
          ld: symbol(s) not found for architecture arm64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)


error: could not compile `rusqlite` (example "persons") due to 1 previous error

コントリビューターガイド