Comments (6)
I successfully ran libsql on Android. I don't think I had to do anything special. What I do though is having a new Rust lib project that depends on libsql.
from libsql.
Running lipo on the generated .a
for x86_64
allowed me to pin point the problem:
lipo -info ../../target/x86_64-apple-ios/release/libsql_experimental.a
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: archive member ../../target/x86_64-apple-ios/release/libsql_experimental.a(sqlite3mc.c.o) cputype (16777228) and cpusubtype (0) does not match previous archive members cputype (16777223) and cpusubtype (3) (all members must match)
Indeed it seems the cargo build is targeting apple ios x86_64 but the generated sqlite object file has been compiled for another arch. Looking at the build script I find nothing weird. The cc crate is used for compiling the sqlite source file which should handle cross compilation gracefully. So it seems this path with a cmake build is happening (maybe due the encryption feature being turned on?).
I've added the following to try to make cross compilation work, but it doesn't seem to be doing anything:
if target.contains("x86_64-apple-ios") {
cmake_opts.push(&cmake_toolchain_opt);
writeln!(toolchain_file, "set(CMAKE_SYSTEM_NAME \"iOS\")").unwrap();
writeln!(toolchain_file, "set(CMAKE_SYSTEM_PROCESSOR \"x86_64\")").unwrap();
}
Edit: turning off the encryption
feature does indeed allow the crate to compile successfully. Seems indeed the cmake compilation is off for non-host architectures.
from libsql.
Related Issues (20)
- Add `query_batch` that returns rows for batch requests
- libsql returning 502 on prod HOT 1
- Stack overflow exception then trying to get sqlite schema on an empty turso database on Windows (only) HOT 1
- No runtime available error HOT 1
- SQLite allows foreign keys on non-existing columns?
- Request: Linux ARM binaries of libsql-server HOT 1
- Add metrics about rows returned
- Query cancellation support
- Query timing?
- libsql `de::from_row` does not support serde flatten
- Cloudflare Worker issue
- Cgo Driver like mattn/go-sqlite3? HOT 1
- Insert queries take an enormous amount of time with replicas HOT 1
- Support shared in memory DBs
- Expose libsql version in c binding
- Inconsistent/incorrect savepoint results in remote and remote_replica connections
- Turso -schema DBs don't work with Goose migrations HOT 6
- Unix sockets for embedded libsql
- SELECT Query still does a FULL TABLE SCAN. HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libsql.