-
-
Notifications
You must be signed in to change notification settings - Fork 40
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
qlot distify error from dependency with new-style name #198
Comments
@fukamachi I have just updated my Quicklisp dist to qlot-20231021-git but the error persists.
|
Thank you for reporting. |
No, it does not. That is why I thought perhaps there was some recursive processing caused by failure to match |
Here is the file it is reading when it gets the error (not the same as the first):
Error for this case (qlot was loading a different ASD file when I first got this error):
|
Could you post a line of code I could use to run Thank you! |
Sure.
|
Oddly, that expression runs successfully. I will test it on all the asd files. |
You may want to test with
|
Also, As qlot/distify requires some dependencies, Qlot invokes it in a different process to prevent loading them in the Qlot process. Your distify process can be loading different version of Qlot, maybe? |
Although it is superfluous to say for solving the issue, I'm leaving a comment to your advice in a description.
Yeah, I wanted to use ASD files can have any Common Lisp forms like Qlot is a tool for using a specific version of libraries, so the external libraries must be loaded from the project-local Quicklisp, while qlot/distify requires its dependencies loaded from the system-wide one. Therefore, it doesn't use I know you're a specialist in ASDF, so you may have a better solution for it. I'd appreciate it if you could give me some advice. Thanks! |
The error probably won't be raised at HEAD of Qlot since I deleted the |
Even if they don't, they can have
The only answer I can think of is painful: start up a lisp subprocess, load the ASD file in the subprocess, and have the subprocess tell the main process what it needs to know about the system definition. I wish I had something better. |
Describe the bug
I have a system that has the following dependencies:
When I run
qlot install
on a git repo with this set of dependencies, I get an error message becauseqlot
wants"plan-repair-rewrite/shop3"
to be a symbol, insideread-asd-form
.The head of this file reads:
If qlot is trying to read the file without interpreting the
defpackage
andin-package
expressions, then the test((eq (first form) 'asdf:defsystem)
will fail, causing execution to proceed incorrectly.It may be better to use
asdf:parse-defsystem
orasdf:load-asd
to create the appropriate ASDF data structures and then use slot accessors, instead of writing adefsystem
code-walker.As a short-term kludge, I tried replacing
with
but my error persisted.
Reproducible steps
Unfortunately, my system definition contains proprietary information, so I cannot submit it here. I will try to create a small example of this issue and add it here.
I apologize, it might take some time to assemble such a test case. I will also see if I can instrument this code so that I can find exactly which line is failing.
Error messages
Versions:
The text was updated successfully, but these errors were encountered: