Skip to content
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

x86_64 android build #1

Closed
sigmaSd opened this issue Aug 3, 2023 · 10 comments
Closed

x86_64 android build #1

sigmaSd opened this issue Aug 3, 2023 · 10 comments

Comments

@sigmaSd
Copy link

sigmaSd commented Aug 3, 2023

@secext2022 hello thanks for this project

It would be great if you add x86_64 android build, I imagine its not that hard, since you already have aarch64

The motivation is I'm using termux on waydroid, and it would be great if I can run deno on it

@secext2022
Copy link
Contributor

ok, I will try to add x86_64 android after deno 1.36.0 release.
But I do not have a x86_64 android device so can not test.

Now you can try directly build deno for x86_64 android (with official source code).
Because the CPU is the same (x86_64), so the snapshot should just work.

Most part of this project is to solve the snapshot problem, which occur when the host CPU (x86_64) and target CPU (aarch64) is different.

@sigmaSd
Copy link
Author

sigmaSd commented Aug 3, 2023

Just to expend more, to have x86_64 android I can use waydroid or genymotion locally,

To build x86_64 android I need to build deno inside either . But my pc is old so I usually use services like gitpod to build on the cloud, but there I don't have waydroid or genymotion so my only option is to cross compile but this won't work because of snapshotting.

Btw the needed patch seems not that big for x86_64 android https://github.com/denoland/deno/compare/main...sigmaSd:deno:and?expand=1 maybe this should be added to upstream

Anyway thanks for your help, I'm still exploring different way to do this, if I manege to make it work I'll mention how and close this issue

@sigmaSd
Copy link
Author

sigmaSd commented Aug 3, 2023

I also tried proot (I thought its the easiest way) but that errors proot-me/proot#363

@sigmaSd
Copy link
Author

sigmaSd commented Aug 3, 2023

I started testing termux-docker as well, still WIP since I'm not familiar with this https://github.com/sigmaSd/t8664/blob/master/.github/workflows/build.yml

@secext2022
Copy link
Contributor

Sorry, I can not build deno for x86_64-linux-android,
because rusqlite can not build for x86_64 android.

rusqlite/rusqlite#1380

@sigmaSd
Copy link
Author

sigmaSd commented Aug 22, 2023

@secext2022 thanks a lot for taking the time to test this

I figured how to make deno work with proot by patching mio (proot seems to not handle epoll_wait) so this issue is not very important now (obviously no proot is better but it's not a deal breaker)

@secext2022
Copy link
Contributor

Build deno for x86_64-linux-android is here (https://github.com/fm-elpac/v8-src/tree/deno-1.36-x64).

Please test.
Download binary from https://github.com/fm-elpac/v8-src/actions/runs/5950884443

@sigmaSd
Copy link
Author

sigmaSd commented Aug 23, 2023

Awesome works indeed!
Thanks again

side note maybe you should consider renaming the repo to something more discoverable like deno-android-builds or something

@secext2022
Copy link
Contributor

I did not rename the repo, but I update Description and Topics, so search deno android on github should work.

@secext2022
Copy link
Contributor

@sigmaSd

Maybe you are interested in this issue: termux/termux-packages#17398

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants