[WIP] docs/apple-silicon.md: Add doc on loading CIEL on Apple Silicon#52
[WIP] docs/apple-silicon.md: Add doc on loading CIEL on Apple Silicon#52dotinspace wants to merge 1 commit intociel-lang:masterfrom
Conversation
The document is not complete, but the process for loading CIEL into SBCL REPL has been verified to work. I did not manange to make building the binary and/or core image work, yet.
|
a simple hack to build it on mac if you are getting an error from a dependency of nodgui, but don't plan on actually using nodgui, is just to comment out the |
|
Thanks for the suggestion, but it does appear that the GLUT error mentioned in the doc is just the beginning of a longer chain of issues. Removing |
|
Hi, thanks for this! It looks like we should not include nodgui, to ease installation for many people, right? I envisioned a set of little tools and ready-to-use scripts built with a lil' nodgui GUI, but… that isn't happening, to be honest. I use… one, but actually not so much. If those tools arise, we'll study a way to build CIEL for the required platformes in a second time. |
| $ brew update && brew install \ | ||
| zstd \ | ||
| gcc \ | ||
| sdl2 \ |
There was a problem hiding this comment.
To be honest, I am not sure, I can try without it again, but need some time - incapacitated at the moment. The reason I added it, was I encountered some errors related to SDL, but it might have been dated install via homebrew or me being sort of new to the CL ecosystem, residue from brute force testing. . I will try without it. :)
There was a problem hiding this comment.
sdl2 is listed in the dependencies for nodgui? https://www.autistici.org/interzona/nodgui.html
There was a problem hiding this comment.
sdl2 is listed in the dependencies for nodgui? https://www.autistici.org/interzona/nodgui.html
indeed! thanks.
I am not really in any position to judge, but if it is not consistent across platforms, it might be a good idea to hold off for now, and revisit as the need arises.
Sounds like a good idea! My incentive to use CIEL is more terminal centric (and also mainly on BSD), so I don't really need a GUI lib, but it would be swell to have in the future, indeed. Also, bear in mind, it might very well be the setup on the Mac I used that is troublesome, a bit hard to tell, unless there are others experiencing the same. |
4481c23 to
cc99227
Compare
ccqpein
left a comment
There was a problem hiding this comment.
Add some comment depend on my personal experience.
| ### ASDF | ||
| ```example | ||
| $ mkdir -p ~/common-lisp && cd ~/common-lisp | ||
| $ git clone https://gitlab.common-lisp.net/asdf/asdf.git |
There was a problem hiding this comment.
We need to install the latest asdf to sbcl. Because the sbcl which installed through homebrew has the asdf version 3.3.1 (I don't know why sbcl don't update it for years). So the make ql-deps will return the error that the asdf version is too old (it needs at least 3.3.4).
I reinstall asdf to sbcl every time the sbcl updated on homebrew.
cd ~/common-lisp/asdf
make
./tools/asdf-tools install-asdf sbcl
then the sbcl --script check-asdf-version.lisp in ciel folder will return the newest version (3.3.7.1)
There was a problem hiding this comment.
Hmm... I did not encounter that problem. The only thing I did with the homebrew sbcl install is to make sure quicklisp is installed and initialised via .sbclrc, then clone asdf into ~/common-lisp, or whatever other location one has chosen to use. I must be missing something, because I end up with (asdf:asdf-version) ; 3.3.7.1. Am I going about it the wrong way?
There was a problem hiding this comment.
I reinstalled SBCL through Homebrew, and the ASDF version was reverted to 3.3.1. I had studied the issue before, I believe the problem lies in this code, which includes the contrib/ folder (specifically located at /opt/homebrew/Cellar/sbcl/2.4.8/lib/sbcl/sbclrc). The SBCL version of ASDF has been stuck at version 3.3.1 for years.
I maybe miss something. I would love to sbcl use newest asdf automatically rather than update every time by myself.
There was a problem hiding this comment.
I see! You make a fair point. However, it seems there's been multiple discussions about SBCL and ASDF, e.g.: https://bugs.launchpad.net/sbcl/+bug/1988892. Also:
You can update your own ASDF at any time, if your .asd depend on something new, insert a version assertion in them.
The goal of SBCL is to provide a CL implementation, and supplying third party software with it is out of such scope. The current ASDF works fine for SBCL's own needs, loading and building contribs, anything else is on the third party. Would've been nice if ASDF behaved differently, but it doesn't, so that's the current state. And I'm not the bigger person to accept that, so there's also that, but why should I?
Not sure what would solve the problem for you, to be honest. Apart from maybe adding an issue/pr to the Homebrew formula. Anyway, we can add a note about this in the doc?
There was a problem hiding this comment.
Yea.. I think I read this issue in sbcl maillist too. I am thinking about give some contributions to homebrew. But I know nothing about ruby 🙃.
|
Any updates on this PR? I just got a new M4 laptop and I can't build the docker image (can't generate a new binary) anymore 😢 |
|
@themarcelor Any chance of sharing some specific errors you are encountering? |
|
Hi @dotinspace , The error is kinda obscure. Do you have any pointers? |
|
@dotinspace If I comment out the build lines from the Then I can build the image ( But I get the same result. At some point I added the Looks like some new lib or a new gcc version that is pulled by the But, Unless we pull the parent image from some other repo. @vindarel what do you think? |
|
Ok, I finally managed to build the binary but I had to fiddle with a few files.... Here's a branch that will allow Mac OS + Silicon users build the CIEL binary 💪🏼 This is still awkward 😅 I gotta figure out how to reconcile the |
|
Glad you got it sorted. The error message was indeed a bit cryptic, sorry I couldn't be of any asssistance. |
|
Np @dotinspace , I appreciate the soundboarding / handholding 🤝 So, I guess we could tweak this PR if @vindarel agrees with the adoption of a new SBCL version + New parent image for our Docker build. Let me know how you guys want to proceed 👍🏼 |
|
Would be good to add steps/instruction on how to do it that way in the doc, indeed! |
|
Hi @dotinspace , I made some adjustments to my branch: Feel free to copy over the instructions to your PR if you find this suitable. Here is a breakdown of all the changes: In the I also had to add This new Basically, I created a new However, this Roswell thing does NOT load the And then we just create a symlink to make all CIEL scripts find The final change is to replace If we could get a new a new |
|
Like... who do we talk to in order to get a new According to their |
|
Ok, I just sent a request to join https://gitlab.common-lisp.net/ Looks like they are cooking a PR though: |
|
Hey, thanks for all. It is annoying that, while relying on another Docker image, we have to go to all these hops with Roswell… +1 to try another image or collaborate on PRs, but I trust you guys on this. |
|
Hi @vindarel , I didn't get any response from the maintainers of gitlab.common-lisp.net/cl-docker-images/sbcl. |
|
Hi @themarcelor, yes absolutely, thank you! |
|
@vindarel , I created an issue in https://gitlab.common-lisp.net/cl-docker-images/sbcl/-/issues/5 asking whether they have any plans to release a newer image. But feel free to review this PR in the meantime 🤷🏼♂️ |
|
Hi @vindarel , looks like someone finally released a new version 😄 Czech it out 👀 Maybe I should rework my previous PR (#86). What do you think? |
|
Hi, do you see a technical reason to change? There's no need to change something that works, IMO!! And we're all fine with the Keep your energy for when we really need it :) thanks! |
The document is not complete, but the process for loading CIEL into SBCL REPL has been verified to work. It's a start.
I did not manange to make building the binary and/or core image work, yet.