How To Set-Up Julia on Android Termux?

Hi folks,

I am running termux on an android tablet and really have no idea how to get Julia installed on it. Any suggestions on what to do? I googled and found some information about installing a Linux version onto termux but that seems too complicated — is there a simpler way to use Julia on Termux?

Here were a few links I found:

Additionally, I tried downloading the x64 version of Julia 1.8.5 onto my Android environment but it wasn’t working – it complained about files being missing… I can provide more info if needed but I am just curious what folks tend to do.

Thanks!

~ tcp :deciduous_tree:

I had to setup a psuedo-root with a full Linux runtime environment. See GitHub - termux/proot-distro: An utility for managing installations of the Linux distributions in Termux.

1 Like

Wow that is nuts! Do you know why we have to do that @mkitti ? Seems overtly onerous…

1 Like

No, it is free of charge :slight_smile:

For my part, I followed, I believe, the same links that you have indicated here in Discourse: 1 and/or 2.

I had problems with latest UserLand version, but not with Termux, thanks to @mkitti’s advice.

In case it helps, these are the notes I took back then
pkg install proot
pkg install debian

proot-distro login debian

apt-get update 
apt-get upgrade
apt-get install wget
apt-get install build-essential

wget https://julialang-s3.julialang.org/bin/linux/aarch64/1.9/julia-1.9.0-beta2-linux-aarch64.tar.gz

tar -xvfa julia-1.9.0-beta2-linux-aarch64.tar.gz
rm julia-1.9.0-beta2-linux-aarch64.tar.gz

julia-1.9.0beta2/bin/julia


# next time Termux is run, up arrow key will bring previous commands:
proot-distro login debian
julia

Perhaps the reason for this is because Android doesn’t implement a fully compliant POSIX environment, or at least whatever system calls Julia expects. Thus, a full Linux environment is required.

I think the only way around that would be to compile Julia using Android’s NDK which may be difficult (or impossible?)

2 Likes

That said, in the longer term it may be possible and relatively easy with the upcoming Android Virtualization Framework, though that is just conjecture on my part.

If it ever becomes accessible to developers/users it would become much easier to bundle and distribute a Julia app from Google Play, running the Julia executable in a virtualized sandbox environment.

2 Likes

Hunh! Your idea makes complete sense to me and wasn’t something I considered (regarding POSIX). Exciting about virtualization someday in the future and hope that works out; maybe I can try assisting there when it comes time? I may review Julia issues to see if there is anything for Termux and to see if anyone could point me in the direction for why Julia doesn’t work out of the box (without a POSIX system) on Android.

Either way, thanks for sharing thoughts!

1 Like