-
Notifications
You must be signed in to change notification settings - Fork 988
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
Pull or Backport ARM64 Support from the Racket Backend Version #545
Comments
Did you build Racket fork of Chez Scheme? |
How did you do it? Please 🙄 |
Amirouche, I've built the fork on several arm64 machines (a Raspberry Pi 4 running Raspberry OS, a Pine64 tablet running Mobian, a Lenovo tablet running Debian under Termux, and a Lenovo Chromebook running Google's “Linux”), merely by following the instructions in the fork's BUILDING file. All the builds passed the smoke test, though I haven't tried any real code on them yet. Unfortunately, the Racket fork is version 9.5.3, versus this repository's 9.5.5. and I want to do some experiments with Swish, which needs 9.5.4 or .5. |
I started work on an arm64 port a while back as an educational venture, but I have less time to work on it now. My branch has some outstanding issues; however, it is bootstrapped. I haven't looked into Racket, but someone may be able to incorporate some of their work onto this branch which is already up to 9.5.5. You can find a squashed and rebased version of my branch here. Some key work that remains is:
|
I am interested too in using vanilla Chez Scheme on arm64 - my use case is embedding it as a scripting language in other programs. I have a setup for Chez Scheme on amd64 and it's working nicely. Using the arm64 version of Racket would be quite inconvenient, as it's much bigger and I'd need to extract the underlying Chez kernel (kernel.o / libkernel.a) and boot files. Any status update on this issue? |
已收到
|
This can now be closed, I believe. |
@sorawee, would you care to explain the reason for proposing to close this issue? I could not find any mention of arm64 (officially "aarch64") support on 9.6.4 release notes published two days ago, on 16 Oct. 2023 |
Changes from the Racket fork are already merged back to Chez Scheme in Git HEAD. See https://groups.google.com/g/chez-scheme/c/D7g6mIcYLNU for details. |
Excellent, that's great news! |
I believe most projects close issues at the point that a fix is merged, and this project appears to follow that behaviour. It would be a bit odd to handle this one issue differently. If your goal is to be notified when the feature appears in a release without watching the whole repo, I would suggest using the repo "watch" custom option to watch releases only. |
It would be ideal if the appropriate code is pulled or backported from the Racket backend fork of Chez Scheme to allow compiling on aarch64 ARM64 architecture.
I did finally manage to compile and install Chez Scheme on aarch64 running on a Raspberry Pi 4 running 64bit Raspberry Pi OS (formerly called Raspbian), using the Racket backend fork. It did take me a while to figure it out since the Chez Scheme fork used by Racket is not well documented (probably understandable since it is intended as a backend for another project), and I did not initially know how to git checkout the needed submodules (nanopass, zlib etc.).
I also left a suggestion on the Racket fork issues list suggesting that they do a pull request of the appropriate code. I am not a sophisticated or advanced enough coder to do the work myself.
With the continued rise of ARM architecture (probably now the dominant CPU architecture when one counts all the phones/tablets etc.), it is important for Chez Scheme to stay current and relevant, and support this important architecture. Also with the recent shift of Apple to their "M1" ARM architecture, it may give a leg up on porting to that.
The text was updated successfully, but these errors were encountered: