racket / ChezScheme

Chez Scheme
Apache License 2.0
110 stars 8 forks source link

Git Submodule Checkout Instructions and Please Upload to Dybvig's/Cisco's Mainline Code #33

Closed haziz closed 3 years ago

haziz commented 3 years ago

I have actually figured it out after asking on StackOverflow, but it would be useful to your users, particularly those that are not very Git savvy to give instructions regarding checking out the submodules (nanopass, zlib, etc.) before starting to ./configure.

git submodule init
git submodule update

Initially it repeatedly complained about the lack of the nanopass, zlib (etc.) submodules, when I "./configured" and it took me a while, as well as some help to figure it out.

Also clearer instructions for making and installing Chez Scheme would be welcome. I realize that this is intended as the backend for future versions of Racket, however since your project now does support 64 bit aarch64 on ARM, while the mainline Dybvig/Cisco project still does not, I did resort to your version of Chez Scheme when trying to install Chez Scheme on a Raspberry Pi running aarch64 Raspberry Pi OS (formerly called Raspbian).

Uploading or backporting or offering a pull request for the appropriate code to the mainline Chez Scheme project, as well better documentation overall would be very welcome.

I did finally manage to install Chez Scheme on aarch64 on the Raspberry Pi, so for that and for your work on Racket, a big thank you!

mflatt commented 3 years ago

Thanks for the suggestion! I'm adding those git submodule hints to the configure output.

There are a number of pending upstreaming PRs for the cicso/ChezScheme repo, and we'd be happy to submit more as the maintainers' time and interest allows. AArch64 support in the Racket branch depends on significant changes like flonum unboxing, garbage collector revisions, and build-system changes, so it's not easy to upstream without/before some existing PRs plus many other potential intermediate PRs.

Meanwhile, this repo exists to make the Racket branch of Chez Scheme (which is developed day-to-day within the racket/racket repo) more readily available by itself, and we're happy for it to be used independent of Racket.