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

No Android/Termux(ARM) support, therefore not avail in the ideal learning-environment. #11799

Closed
libweirdness opened this issue Feb 4, 2022 · 5 comments

Comments

@libweirdness
Copy link

I went to the install page,
it said one needed Crystal installed, to be able to build Crystal from source.

Catch-22.

I tried the Ubuntu instruction,
it said to use the Debian version,
so I went there, and that is x86, only.

So, all who are learning probramming in our always-on-us tablets,
simply cannot install it, to be able to learn developing with it.

This is just an FYI: an entire-category of new devs is being blocked,
and that is a horrendous waste of opportunity.

Getting tablet-users who want to learn programming to be learning Crystal would,
within a few years, multiply the number of Crystal devs significantly:
many cannot afford an x86 machine, now.

Salut, Namaste, & Kaizen!

( :

Bug Report

Make sure to review these points before submitting issues - thank you!

  • Make sure a similar issue does not exist yet: use the search box, search engine and look at Stack Overflow.
  • Include reproducible code: we should be able to paste it into an editor, compile and run it and get the same error as you. Otherwise it's impossible for us to reproduce the bug.
  • Don't only use play.crystal-lang.org or carc.in: code might be lost and the issue will remain incomplete. Write code in the issue itself.
  • Reduce code, if possible, to the minimum size that reproduces the bug.
  • If all of the above is impossible due to a large project, create a branch that reproduces the bug and point us to it.
  • Include Crystal compiler version (crystal -v) and OS. If possible, try to see if the bug still reproduces on master.
@libweirdness libweirdness added the kind:bug A bug in the code. Does not apply to documentation, specs, etc. label Feb 4, 2022
@lbguilherme
Copy link
Contributor

@HertzDevil HertzDevil added kind:question and removed kind:bug A bug in the code. Does not apply to documentation, specs, etc. labels Feb 4, 2022
@mdwagner
Copy link
Contributor

mdwagner commented Feb 5, 2022

I have Crystal running on ARM (Raspberry Pi 4), but I did that alongside my x86 machine. So, is your issue that an ARM build isn't available to easily install? Or that there isn't a build for Android/Termux?

@libweirdness
Copy link
Author

Thank you for linking to the cross-compile item.

: )

Cross-compilation is only for people that:

a) have an x86 machine to cross-compile from, &
b) are already competent geeks.

While I am an old geek, and can do the cross-compilation,
so-long-as those instructions work with the components I'll be trying it on ( in a week or 3 ),

It still blocks-out most/nearly-all of the learners who are just beginning in their journey.

Termux's Ubuntu Server distro needs to have Crystal, for making it easy to get into.

I have a full Ruby & a full Haskell dev environment installed in Termux/Ubuntu,
simply through apt search & apt install.

The Ruby/Crystal OO language-node is the clearest-minded OO node I know-of.

The Haskell/Purescript/Clash node is the clearest pure functional node I know-of.

Getting as many new programmers learning those 2 orthogonal nodes would reduce the amount of world-life-hours invested in creating bugs, if you see what I mean.

( optimize the world for clarity, results will come,
so long as enough do the practice )

( :

@HertzDevil
Copy link
Contributor

HertzDevil commented Feb 11, 2023

You don't need cross-compilation nor a native Android / Termux shell to be able to run the Crystal compiler on an Android device; that is only necessary if Crystal must target the Android C runtime. Instead consider the following in Termux:

pkg install proot-distro
proot-distro install alpine
proot-distro login alpine
# inside Alpine Linux:
apk add crystal

or simply run a full virtual machine.

Adding Crystal to the Termux repository is currently blocked, because they upgraded to LLVM 15 almost as soon as it was released, yet Crystal doesn't support it at this moment.

@HertzDevil
Copy link
Contributor

Crystal is now available on Termux: termux/termux-packages@5115fa9

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

No branches or pull requests

4 participants