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

Improve Dev Setup #83

Open
4 of 5 tasks
sgithens opened this issue Jun 20, 2024 · 2 comments
Open
4 of 5 tasks

Improve Dev Setup #83

sgithens opened this issue Jun 20, 2024 · 2 comments

Comments

@sgithens
Copy link
Member

sgithens commented Jun 20, 2024

Note: Most of this is cut and pasted from @cben PR #77 . I didn't see a way to convert a github PR to an Issue for the rest of the items. Some of the remaining cleanup I'm doing related to these comments will be committed under this issue. - @sgithens

This takes small steps towards dev instructions working out-of-the-box on Windows 11, but ultimately, I didn't get Boxer to launch. At least not with LispWorks Personal Edition.

  • Replaced some hardcoded paths with computed (taking care with drive letters).

  • Documented some defaults that were unobvious to me as a newbie.

    • I wasn't initially clear that on windows I need both C freetype libs AND the patched CL wrapper. On second reading it was pretty clear, doh, but after wasting time debugging issues already patched there I felt it's worth saying explicitly :-)
    • The concept of "home" can be confusing on Windows, depending on what one uses for "git clone" - might be WSL, or git-bash, (well probably not cygwin anymore) etc. - some of these emulate their own concept of "home dir" distinct from %HOMEPATH%.
  • After the prerequisites listed in README, it's supposed to be enough to load src/bootstrap.lisp?
    Well that doesn't work on a clean system, as it attempts (asdf:load-system :boxer-sunrise) but I hadn't fetched most of its dependencies. => Component :CL-GLU not found, required by #<ASDF/SYSTEM:SYSTEM "boxer-sunrise">
    Looks like one needs something like this (but only once):

    (ql:quickload :cl-json)
    (ql:quickload :drakma)
    (ql:quickload :for)
    (ql:quickload :html-entities)
    (ql:quickload :iterate)
    (ql:quickload :pngload)
    (ql:quickload :qbase64)
    (ql:quickload :quri)
    (ql:quickload :serapeum)
    (ql:quickload :zip)
    (ql:quickload :zpng)
    (ql:quickload :3d-matrices)
    (ql:quickload :cl-opengl :verbose t)
    (ql:quickload :cl-glu :verbose t)
    

    Is there a way to get all deps already declared in the .asd file? Would (ql:quickload :boxer-sunrise) work?

  • Repeatedly running out of LispWorks PE heap limit. 💀

    You are approaching the heap size limit for the Personal Edition of LispWorks.
    If you choose to continue now you are advised to save your work at regular intervals.

    Especially during (ql:quickload :serapeum). It looks like commenting out the previous quickload lines reduces heap usage - that way I was able to get past serapeum and eventually get to (asdf:load-system :boxer-sunrise), now with (most) dependencies installed.

  • cl-opengl failing to compile:

    **++++ Error in (PACKAGE "CL-OPENGL"): 
      "OPENGL" is already a nickname for #<The OPENGL package, 298/4096 internal, 1678/4096 external>.
    

    Lndeed it wants this nickname.
    I guess the conflict is with LispWorks' own opengl package? Changelog & docs/development-notes.md suggest you've had both working independently, but HOW?

    Pretty sure at some point last week I did get cl-opengl to install and its examples to run - but I can't reproduce that now 🤷‍♂️.

    I see there was also (defpackage :opengl ... that you just removed (898f924). But I'm getting this nickname collision both before and after that.

    • I think for cl-opengl examples I also needed pacman -S mingw-w64-x86_64-freeglut ? Is it also needed for Boxer to run? (README only mentions freetype)

P.S. sbcl progress is exciting! 🎉👏 I'll probably stop banging my head against LispWorks as I don't want to shell out for a less limited version.

@sgithens
Copy link
Member Author

@cben I believe the opengl namespace issue should be resolved. If you look at the README now, there are actually 2 more libraries I had to fork with a minor lispworks work around! Sorry, but thanks for alerting me to my omission.

@sgithens
Copy link
Member Author

I've swapped out the asdf:load-systems for ql:quickload in the bootstrap scripts which should ideally alleviate the issues described in the 3rd checkbox.

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

No branches or pull requests

1 participant