Changes to SQLiteData to make it compile on Linux #408
Replies: 2 comments 2 replies
-
|
Great work on the Linux port @thinkpractice! Dealing with Foundation differences and GRDB dependencies on non-Apple platforms is always a bit of a puzzle. Regarding WAL, it definitely helps with concurrency in some high-load scenarios, but for a first pass, getting the core unit tests green on the standard system sqlite is a huge win. Usually, for projects like this, forking from is the safest bet unless there's a specific development branch active. Looking forward to seeing that PR! |
Beta Was this translation helpful? Give feedback.
-
|
@thinkpractice Thanks for looking into this! If the main blocker is missing sqlite-data/.github/workflows/ci.yml Lines 56 to 72 in 65502ac You could try bringing back CI to validate these changes in a PR and we would be grateful to help push things forward! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi all,
Like we were discussing on Slack, I forked a version of
SQLiteDatato make it build on Linux, see here. @stephencelis asked me to move the discussion here.The package itself compiles, but I had to bump the swift version to
6.2.3. I have to investigate if this is aSQLiteDataspecific issue, or something related toGRDB. Will look into this later.To make
GRDBcompile on Linux, I had to disable all WAL related features as they are not available in the standardlibsqlite-devthat is provided by the Linux package managers. I also had to write some Linux specific code, especially related to the absence of some functions inFoundationon non-Apple platforms. Also some initializers have different signatures. These changes have landed inGRDBversion7.10.0. This is the version I used to getSQLiteDatacompile on Linux.I'd like to start fixing the unit tests of
SQLiteDatanow to fix the Linux build completely. Which branch should I fork for that,main?I also would like to know if it would be worth creating a version of SQLiteData/GRDB where WAL is enabled. For this, we would need to create a custom build of
libsqlite-devand also ofGRDBand then of course also ofSQLiteData. What advantages would this have? And would you be interested in adding such a custom build? If so, I will start discussing this over at theGRDBrepo, where these changes need to be made first.kind regards,
Tim
Beta Was this translation helpful? Give feedback.
All reactions