-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement linux target #38
Implement linux target #38
Conversation
} | ||
|
||
internal fun databaseDirPath(): String { | ||
return getHomeDirPath() ?: memScoped { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually here I'm not sure where the fallback path should lead to?
I just defined the home
dir but of course this is suboptimal. But another arbitrary fallback dir is also IMO. But you did something similar on windows as well and one should configure the path anyways in most cases.
Maybe you have a preference where the fallback path should be? Or is home
fine for you?
894ccd3
to
ea5fc0b
Compare
Any chance this could get looked at or is there no interest in it? |
6a06e05
to
046bb60
Compare
@kpgalligan any chance we can have this reviewed/merged? would be great to support Linux targets on SQLDelight |
046bb60
to
e96d980
Compare
I tried running tests and got a failure with the following:
Can provide more log if needed. |
To clarify above, I made another branch with your changes and pushed to get the linux tests running (rather than set up a local virtual machine). The error above is from the test log. I have roughly zero linux dev experience that wasn't on the JVM, so it would probably take me a bit to sort out that issue. If you have any thoughts, please share. |
Were libsqlite or lib binaries prebuilt on other CI instance/machine? Probably some binary was built on OS which had newer glibc. To ensure compatibility need to ensure that everything is built on older OS with older glibc |
Hmm to me it seems the GLIB_C version mismatches. Probably the konan toolchain uses a different one now. It probably broke with my last rebase as there the kotlin version changed to 1.5.x IIRC and i didn't notice it. |
The problem with this is that konan (AFAIK) bundles fixed versions: https://github.com/JetBrains/kotlin-native/blob/1d2f55ce23d050cad2f3611a61261bf6a509a36f/konan/konan.properties#L411 |
It seems @audkar was right. Simply using ubuntu 18.04 to build it was enough. |
Just tried the same thing and it seems like it's working: https://github.com/touchlab/SQLiter/actions/runs/968436878. I'll let that finish then approve. |
Very nice! |
Thanks for the PR. Sorry for the delay. Going to see about getting this into SQLDelight. |
No problem. |
@kpgalligan it seems i forgot to update one SQLiter/.github/workflows/deploy.yml Line 62 in 5432b6c
Sorry about that. Do you update it? |
I'll update... |
This implements
linuxX64
as a target with the corresponding linux specific actual implementations.Primarily this was implemented to hopefully pave the way for cashapp/sqldelight#1835.
I did some minor testing with a local build of
SQLDelight
and so far everything seems to work.I did not figure out how your test setup with that arbitrary script could work and based on @kpgalligan's comment on the above mentioned issue I did not spend too much time on it as it's probably rewritten anyways? But if you require it I'm of course willing to spend some more time to figure that one out as well.Tests are run after latest rebase.