alex-gutev / cl-environments

Implements the CLTL2 environment access API.
https://alex-gutev.github.io/cl-environments/
MIT License
32 stars 6 forks source link

SBCL 2.4.2 - Truly-dynamic-extent not found! #15

Closed amno1 closed 7 months ago

amno1 commented 7 months ago
TEXT-BUFFER> (asdf:load-system "cl-environments")
; compiling file "C:/Users/arthu/quicklisp/dists/quicklisp/software/cl-environments-20211020-git/src/other/sbcl.lisp" (written 08 APR 2024 12:24:07 AM):
; 
; caught ERROR:
;   READ error during COMPILE-FILE:
;   
;     Symbol "TRULY-DYNAMIC-EXTENT" not found in the SB-INT package.
;   
;       Line: 162, Column: 44, File-Position: 4648
;   
;       Stream: #<SB-INT:FORM-TRACKING-STREAM for "file C:\\Users\\arthu\\quicklisp\\dists\\quicklisp\\software\\cl-environments-20211020-git\\src\\other\\sbcl.lisp" {10029AEF23}>

I am trying to load cl-environmenets into sbcl 2.4.2 build on msys2/ucrt on Windows 11 and getting the above error. Any idea what happened? Did they renamed the symbol, or just removed it? I have did a grep in src directory of SBCL for truly-dynamic-extent, but I didn't found it.

alex-gutev commented 7 months ago

It's been removed. This issue has come up before and I removed references to that symbol. Are you using the latest commit of cl-environments?

amno1 commented 7 months ago

It's been removed. This issue has come up before and I removed references to that symbol.

Thanks. I wasn't familiar with it, sorry for the fuzz. This is the first time I try to use cl-environments. I am also quite fresh to CL in general.

Are you using the latest commit of cl-environments?

Since I see this, probably not :-). I have freshly installed quicklisp on a brand new laptop about two months ago. (ql:update-dist "quicklisp") says I have the latest (october 2023 as of this writing) . When looking at releases.txt in quicklisp directory for "dists" it says this for cl-environments:

cl-environments http://beta.quicklisp.org/archive/cl-environments/2021-10-20/cl-environments-20211020-git.tgz 47800 a796decf21a5b595ff591ffca37899

It seems I am indeed using the old release (if I am not understanding this file wrong).

I have cloned your repo to my computer, and can confirm that loading cl-environments from the cloned version works. I just did (push (uiop:getcwd) ql:local-project-directories) and loaded it to confirm it is the version problem.

I am not enough familiar with quicklisp to understand why it uses the old version. Do they autopackage software from git repos such as Elpa and Melpa do for Emacs packages (auto genera tar packages) or do they use prepackaged tars? Is Ultralisp solution then?

Thank you for the software and for the very fast answer!

alex-gutev commented 7 months ago

Quicklisp rolls out regular releases, with each release containing the latest changes pulled from the repos of each package in the distribution. The releases used to be monthly (more or less) but for some reason Quicklisp hasn't had a new release since October last year. This means when you install cl-environments through Quicklisp, you're installing the version of cl-environments from last October. I fixed quite a few issues in cl-environments, cl-form-types and static-dispatch since then. Until Quicklisp rolls out a new release you'll have to pull the source code of cl-environments directly from the repository.