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

[WIP] docs/apple-silicon.md: Add doc on loading CIEL on Apple Silicon #52

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dotinspace
Copy link

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.

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.
@bo-tato
Copy link

bo-tato commented Jul 31, 2024

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 :nodgui line in :depends-on section of file ceil.asd

@dotinspace
Copy link
Author

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 :nodgui from :depends-on in ciel.asd did not work, but generated other errors, such as: #<LIBRARY CORESERVICES> does not have a known shared library file path, which seems odd.

@vindarel
Copy link
Contributor

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 \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm surprised. Why sdl2?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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. :)

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sdl2 is listed in the dependencies for nodgui? https://www.autistici.org/interzona/nodgui.html

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sdl2 is listed in the dependencies for nodgui? https://www.autistici.org/interzona/nodgui.html

indeed! thanks.

@dotinspace
Copy link
Author

Hi, thanks for this!

It looks like we should not include nodgui, to ease installation for many people, right?

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.

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.

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.

vindarel added a commit that referenced this pull request Aug 30, 2024
 drops SDL, SDL TTF and JPEG turbo libraries.

    the flip side of the coin will be the loss of canvas with fast pixel drawing, hardware accelerated canvas for 3D rendering and also the support for JPEG bitmap.

for #56

for #52
vindarel added a commit that referenced this pull request Aug 30, 2024
 drops SDL, SDL TTF and JPEG turbo libraries.

    the flip side of the coin will be the loss of canvas with fast pixel drawing, hardware accelerated canvas for 3D rendering and also the support for JPEG bitmap.

for #56

for #52
@vindarel vindarel changed the title docs/apple-silicon.md: Add doc on loading CIEL on Apple Silicon [WIP] docs/apple-silicon.md: Add doc on loading CIEL on Apple Silicon Sep 3, 2024
@vindarel vindarel marked this pull request as draft September 3, 2024 09:22
@vindarel vindarel force-pushed the master branch 2 times, most recently from 4481c23 to cc99227 Compare September 4, 2024 13:11
Copy link
Contributor

@ccqpein ccqpein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add some comment depend on my personal experience.

Comment on lines +37 to +40
### ASDF
```example
$ mkdir -p ~/common-lisp && cd ~/common-lisp
$ git clone https://gitlab.common-lisp.net/asdf/asdf.git
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Author

@dotinspace dotinspace Sep 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 🙃.

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

Successfully merging this pull request may close these issues.

4 participants