abcl
abcl copied to clipboard
Problem with quicklisp in .abclrc
I have this in .abclrc
(require "asdf")
(require "abcl-contrib")
(asdf:load-system :quicklisp-abcl)
However, I am getting this when starting abcl (please note that the same is happening with sbcl-1.8.0) I am running it on Ubuntu 21.10
$ uname -a
Linux bpecsek-Lenovo-Y520-15IKBM 5.13.0-22-generic #22-Ubuntu SMP Fri Nov 5 13:21:36 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ ./abcl
Armed Bear Common Lisp 1.8.1-dev
Java 17.0.1 Oracle Corporation
OpenJDK 64-Bit Server VM
Low-level initialization completed in 0.166 seconds.
Startup completed in 0.851 seconds.
Error loading /home/bpecsek/.abclrc at line 4 (offset 75)
#<THREAD "interpreter" {2682A675}>: Debugger invoked on condition of type FILE-ERROR
Cannot probe a wild pathname as a directory.
Restarts:
0: RETRY Retry ASDF operation.
1: CLEAR-CONFIGURATION-AND-RETRY Retry ASDF operation after resetting the configuration.
[1] CL-USER(1):
if I type 0 here it load quicklisp properly
[1] CL-USER(1): 0
; Caught RECURSIVE-OPERATE:
; Deprecated recursive use of (ASDF/OPERATE:OPERATE 'ASDF/LISP-ACTION:LOAD-OP '("quicklisp")) while visiting (ASDF/LISP-ACTION:LOAD-OP "quicklisp-abcl") - please use proper dependencies instead
; Compilation unit finished
; Caught 1 WARNING condition
Loading /home/bpecsek/.abclrc completed in 8.315 seconds.
Type ":help" for a list of available commands.
CL-USER(2):
I cannot duplicate: using those forms in .abclrc
works for me.
Can you give the output of
:bt 99
when your debugger comes up? This should print a backtrace with potentially more information.
This sort of error seems to occur when there is an asterisk (#\*
) character in a path which ABCL currently doesn't handle well as to whether this is a literal asterisk or a wild pathname component. See https://abcl.org/trac/ticket/391 for more context.
Here you go!
$ abcl
Armed Bear Common Lisp 1.8.1-dev
Java 17.0.1 Oracle Corporation
OpenJDK 64-Bit Server VM
Low-level initialization completed in 0.2 seconds.
Startup completed in 1.06 seconds.
Error loading /home/bpecsek/.abclrc at line 3 (offset 76)
#<THREAD "interpreter" {3C1A83B7}>: Debugger invoked on condition of type FILE-ERROR
Cannot probe a wild pathname as a directory.
Restarts:
0: RETRY Retry ASDF operation.
1: CLEAR-CONFIGURATION-AND-RETRY Retry ASDF operation after resetting the configuration.
[1] CL-USER(1): ```:bt 99``
(QUOTE (QUOTE :BT))
[1] CL-USER(2): 99
[1] CL-USER(3):
On Tue, 2021-12-28 at 00:26 -0800, Mark Evenson wrote:
I cannot duplicate: using those forms in .abclrc works for me. Can you give the output of ```:bt 99`` when your debugger comes up? This sort of error seems to occur when there is an asterisk (#*) character in a path which ABCL currently doesn't handle well as to whether this is a literal asterisk or a wild pathname component. See https://abcl.org/trac/ticket/391 for more context. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
On Dec 29, 2021, at 11:22, Bela Pecsek @.***> wrote:
Here you go!
$ abcl Armed Bear Common Lisp 1.8.1-dev Java 17.0.1 Oracle Corporation OpenJDK 64-Bit Server VM Low-level initialization completed in 0.2 seconds. Startup completed in 1.06 seconds. Error loading /home/bpecsek/.abclrc at line 3 (offset 76) #<THREAD "interpreter" {3C1A83B7}>: Debugger invoked on condition of type FILE-ERROR Cannot probe a wild pathname as a directory. Restarts: 0: RETRY Retry ASDF operation. 1: CLEAR-CONFIGURATION-AND-RETRY Retry ASDF operation after resetting the configuration. [1] CL-USER(1): ```:bt 99``
Unfortunately, that is not what I meant, as the Github Markdown stuff (i.e. “```” is not part of the command.
Please try
:backtrace 99
This is one of the debugger commands. All available commands can be shown via
:help
-- "No, this is not a disentanglement, but a progressive /knotting-into/."
Sorry!:) I have repplyed from email not from the GitHub.
$ abcl Armed Bear Common Lisp 1.8.1-dev Java 17.0.1 Oracle Corporation OpenJDK 64-Bit Server VM Low-level initialization completed in 0.198 seconds. Startup completed in 0.969 seconds. Error loading /home/bpecsek/.abclrc at line 3 (offset 76) #<THREAD "interpreter" {29F115EF}>: Debugger invoked on condition of type FILE-ERROR Cannot probe a wild pathname as a directory. Restarts: 0: RETRY Retry ASDF operation. 1: CLEAR-CONFIGURATION-AND-RETRY Retry ASDF operation after resetting the configuration. [1] CL-USER(1): :bt 99
0: (SYSTEM:BACKTRACE) 1: (INVOKE-DEBUGGER #<FILE-ERROR {2AB90C44}>) 2: org.armedbear.lisp.Lisp.error(Lisp.java:383) 3: org.armedbear.lisp.probe_file$pf_probe_directory.execute(probe_file.java:116) 4: org.armedbear.lisp.Symbol.execute(Symbol.java:805) 5: org.armedbear.lisp.LispThread.execute(LispThread.java:897) 6: org.armedbear.lisp.asdf_285.execute(asdf.lisp:3208) 7: org.armedbear.lisp.Symbol.execute(Symbol.java:805) 8: org.armedbear.lisp.LispThread.execute(LispThread.java:897) 9: org.armedbear.lisp.asdf_287.execute(asdf.lisp:3208) 10: org.armedbear.lisp.Symbol.execute(Symbol.java:840) 11: org.armedbear.lisp.LispThread.execute(LispThread.java:955) 12: org.armedbear.lisp.asdf_2557.execute(asdf.lisp:12996) 13: org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:150) 14: org.armedbear.lisp.Symbol.execute(Symbol.java:854) 15: org.armedbear.lisp.LispThread.execute(LispThread.java:977) 16: org.armedbear.lisp.asdf_2567.execute(asdf.lisp:12996) 17: org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:185) 18: org.armedbear.lisp.Symbol.execute(Symbol.java:885) 19: org.armedbear.lisp.LispThread.execute(LispThread.java:1026) 20: org.armedbear.lisp.asdf_2606.execute(asdf.lisp:12996) 21: org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:98) 22: org.armedbear.lisp.Symbol.execute(Symbol.java:805) 23: org.armedbear.lisp.LispThread.execute(LispThread.java:897) 24: org.armedbear.lisp.asdf_2609.execute(asdf.lisp:12996) 25: org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:98) 26: org.armedbear.lisp.Symbol.execute(Symbol.java:805) 27: org.armedbear.lisp.LispThread.execute(LispThread.java:897) 28: org.armedbear.lisp.asdf_2610.execute(asdf.lisp:12996) 29: org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:89) 30: org.armedbear.lisp.Symbol.execute(Symbol.java:795) 31: org.armedbear.lisp.LispThread.execute(LispThread.java:881) 32: org.armedbear.lisp.asdf_2611.execute(asdf.lisp:12996) 33: org.armedbear.lisp.Symbol.execute(Symbol.java:805) 34: org.armedbear.lisp.LispThread.execute(LispThread.java:897) 35: org.armedbear.lisp.asdf_1070.execute(asdf.lisp:8799) 36: org.armedbear.lisp.LispThread.execute(LispThread.java:897) 37: org.armedbear.lisp.Primitives$pf_apply.execute(Primitives.java:2795) 38: (PROBE-DIRECTORY #P"/home/bpecsek/common-lisp/slime-repl sbcl") 39: (UIOP/FILESYSTEM:SUBDIRECTORIES #P"/home/bpecsek/common-lisp/") 40: (UIOP/FILESYSTEM:COLLECT-SUBDIRECTORIES #P"/home/bpecsek/common-lisp/" #<FUNCTION #<FUNCTION {728A6E88}> {728A6E88}> #<FUNCTION #<FUNCTION {BD74921}> {BD74921}> #<FUNCTION #<FUNCTION {34635C97}> {34635C97}>) 41: (ASDF/SOURCE-REGISTRY:COLLECT-SUBDIRECTORIES-ASD-FILES #P"/home/bpecsek/common-lisp/" :EXCLUDE (".bzr" ".cdv" ".git" ".hg" ".pc" ".svn" "CVS" "RCS" "SCCS" "_darcs" "_sgbak" "autom4te.cache" "cover_db" "_build" "debian") :COLLECT #<FUNCTION #<FUNCTION {3ECA6BD9}> {3ECA6BD9}>) 42: (ASDF/SOURCE-REGISTRY:REGISTER-ASD-DIRECTORY #P"/home/bpecsek/common-lisp/" :RECURSE T :EXCLUDE (".bzr" ".cdv" ".git" ".hg" ".pc" ".svn" "CVS" "RCS" "SCCS" "_darcs" "_sgbak" "autom4te.cache" "cover_db" "_build" "debian") :COLLECT #<FUNCTION #<FUNCTION {3ECA6BD9}> {3ECA6BD9}>) 43: (ASDF/SOURCE-REGISTRY:COMPUTE-SOURCE-REGISTRY NIL) 44: (ASDF/SOURCE-REGISTRY:INITIALIZE-SOURCE-REGISTRY NIL) 45: (ASDF/SOURCE-REGISTRY:ENSURE-SOURCE-REGISTRY) 46: (ASDF/SYSTEM-REGISTRY:SYSDEF-SOURCE-REGISTRY-SEARCH "asdf") 47: (#<FUNCTION #<FUNCTION {1F15ACA6}> {1F15ACA6}> ASDF/SYSTEM-REGISTRY:SYSDEF-SOURCE-REGISTRY-SEARCH) 48: (APPLY #<FUNCTION #<FUNCTION {1F15ACA6}> {1F15ACA6}> (ASDF/SYSTEM-REGISTRY:SYSDEF-SOURCE-REGISTRY-SEARCH)) 49: (MAP NIL #<FUNCTION #<FUNCTION {1F15ACA6}> {1F15ACA6}> (ASDF/PACKAGE-INFERRED-SYSTEM:SYSDEF-PACKAGE-INFERRED-SYSTEM-SEARCH ASDF/SYSTEM-REGISTRY:SYSDEF-CENTRAL-REGISTRY-SEARCH ASDF/SYSTEM-REGISTRY:SYSDEF-SOURCE-REGISTRY-SEARCH)) 50: (ASDF/SYSTEM-REGISTRY:SEARCH-FOR-SYSTEM-DEFINITION "asdf") 51: (#<FUNCTION #<FUNCTION {2EBA6024}> {2EBA6024}>) 52: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION #<FUNCTION {2EBA6024}> {2EBA6024}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL) 53: (ASDF/FIND-SYSTEM:LOCATE-SYSTEM "asdf") 54: (#<FUNCTION #<FUNCTION {931680}> {931680}>) 55: (APPLY #<FUNCTION #<FUNCTION {931680}> {931680}> NIL) 56: (UIOP/UTILITY:CALL-FUNCTION #<FUNCTION #<FUNCTION {931680}> {931680}>) 57: (ASDF/SESSION:CONSULT-ASDF-CACHE (ASDF/SYSTEM:FIND-SYSTEM "asdf") #<FUNCTION #<FUNCTION {931680}> {931680}>) 58: (#<FUNCTION #<FUNCTION {6DEA21E8}> {6DEA21E8}>) 59: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION #<FUNCTION {931680}> {931680}> :OVERRIDE NIL :KEY (ASDF/SYSTEM:FIND-SYSTEM "asdf") :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL) 60: (#<FUNCTION #<FUNCTION {5FA8D06F}> {5FA8D06F}> "asdf" NIL) 61: (APPLY #<FUNCTION #<FUNCTION {5FA8D06F}> {5FA8D06F}> ("asdf" NIL)) 62: (#<FUNCTION #<FUNCTION {226E30FE}> {226E30FE}> ("asdf" NIL)) 63: (ASDF/SYSTEM:FIND-SYSTEM "asdf" NIL) 64: (#<FUNCTION #<FUNCTION {3AD11525}> {3AD11525}> "asdf" NIL :REGISTERED NIL) 65: (APPLY #<FUNCTION #<FUNCTION {3AD11525}> {3AD11525}> ("asdf" NIL :REGISTERED NIL)) 66: (#<FUNCTION #<FUNCTION {68896F6}> {68896F6}> ("asdf" NIL :REGISTERED NIL)) 67: (#<FUNCTION #<FUNCTION {1F3A05E0}> {1F3A05E0}> ("asdf" NIL :REGISTERED NIL)) 68: (ASDF/COMPONENT:FIND-COMPONENT "asdf" NIL :REGISTERED NIL) 69: (#<FUNCTION #<FUNCTION {4C002F39}> {4C002F39}> :ASDF NIL :REGISTERED NIL) 70: (APPLY #<FUNCTION #<FUNCTION {4C002F39}> {4C002F39}> (:ASDF NIL :REGISTERED NIL)) 71: (#<FUNCTION #<FUNCTION {7ECA73A1}> {7ECA73A1}> (:ASDF NIL :REGISTERED NIL)) 72: (#<FUNCTION #<FUNCTION {3C3765A8}> {3C3765A8}> (:ASDF NIL :REGISTERED NIL)) 73: (ASDF/COMPONENT:FIND-COMPONENT :ASDF NIL :REGISTERED NIL) 74: (#<FUNCTION #<FUNCTION {73ED62CB}> {73ED62CB}> NIL :ASDF) 75: (APPLY #<FUNCTION #<FUNCTION {73ED62CB}> {73ED62CB}> (NIL :ASDF)) 76: (#<FUNCTION #<FUNCTION {3E59F268}> {3E59F268}> (NIL :ASDF)) 77: (#<FUNCTION #<FUNCTION {1323C979}> {1323C979}> (NIL :ASDF)) 78: (ASDF/COMPONENT:FIND-COMPONENT NIL :ASDF) 79: (#<FUNCTION #<FUNCTION {143EE490}> {143EE490}> ASDF/LISP-ACTION:LOAD-OP :ASDF :VERBOSE NIL) 80: (APPLY #<FUNCTION #<FUNCTION {143EE490}> {143EE490}> (ASDF/LISP-ACTION:LOAD-OP :ASDF :VERBOSE NIL)) 81: (#<FUNCTION #<FUNCTION {CDD37E6}> {CDD37E6}> (ASDF/LISP-ACTION:LOAD-OP :ASDF :VERBOSE NIL)) 82: (#<FUNCTION #<FUNCTION {7D665EA7}> {7D665EA7}>) 83: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION #<FUNCTION {7D665EA7}> {7D665EA7}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL) 84: (#<FUNCTION #<FUNCTION {70832873}> {70832873}> ASDF/LISP-ACTION:LOAD-OP :ASDF :VERBOSE NIL) 85: (APPLY #<FUNCTION #<FUNCTION {70832873}> {70832873}> (ASDF/LISP-ACTION:LOAD-OP :ASDF :VERBOSE NIL)) 86: (ASDF/OPERATE:OPERATE ASDF/LISP-ACTION:LOAD-OP :ASDF :VERBOSE NIL) 87: (APPLY ASDF/OPERATE:OPERATE ASDF/LISP-ACTION:LOAD-OP :ASDF (:VERBOSE NIL)) 88: (ASDF/OPERATE:LOAD-SYSTEM :ASDF :VERBOSE NIL) 89: (APPLY ASDF/OPERATE:LOAD-SYSTEM (:ASDF :VERBOSE NIL)) 90: (UIOP/PACKAGE:SYMBOL-CALL :ASDF :LOAD-SYSTEM :ASDF :VERBOSE NIL) 91: (ASDF/UPGRADE:UPGRADE-ASDF) 92: (#<FUNCTION #<FUNCTION {13FA5897}> {13FA5897}>) 93: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION #<FUNCTION {13FA5897}> {13FA5897}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL) 94: (#<FUNCTION #<FUNCTION {76FD3F09}> {76FD3F09}> ASDF/LISP-ACTION:LOAD-OP :QUICKLISP-ABCL) 95: (APPLY #<FUNCTION #<FUNCTION {76FD3F09}> {76FD3F09}> (ASDF/LISP-ACTION:LOAD-OP :QUICKLISP-ABCL)) 96: (#<FUNCTION #<FUNCTION {39A1C417}> {39A1C417}> (ASDF/LISP-ACTION:LOAD-OP :QUICKLISP-ABCL)) 97: (ASDF/OPERATE:OPERATE ASDF/LISP-ACTION:LOAD-OP :QUICKLISP-ABCL) 98: (APPLY ASDF/OPERATE:OPERATE ASDF/LISP-ACTION:LOAD-OP :QUICKLISP-ABCL NIL)
On Wed, 2021-12-29 at 02:25 -0800, Mark Evenson wrote:
On Dec 29, 2021, at 11:22, Bela Pecsek @.***> wrote:
Here you go!
$ abcl Armed Bear Common Lisp 1.8.1-dev Java 17.0.1 Oracle Corporation OpenJDK 64-Bit Server VM Low-level initialization completed in 0.2 seconds. Startup completed in 1.06 seconds. Error loading /home/bpecsek/.abclrc at line 3 (offset 76) #<THREAD "interpreter" {3C1A83B7}>: Debugger invoked on condition of type FILE-ERROR Cannot probe a wild pathname as a directory. Restarts: 0: RETRY Retry ASDF operation. 1: CLEAR-CONFIGURATION-AND-RETRY Retry ASDF operation after resetting the configuration. [1] CL-USER(1): ```:bt 99``
Unfortunately, that is not what I meant, as the Github Markdown stuff (i.e. “```” is not part of the command.
Please try
:backtrace 99
This is one of the debugger commands. All available commands can be shown via
:help
-- "No, this is not a disentanglement, but a progressive /knotting- into/."
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
There is the problem:
38: (PROBE-DIRECTORY #P"/home/bpecsek/common-lisp/slime-repl sbcl")
You have a file or directory named *slime-repl sbcl*
under <file:~/common-lisp/>
which is causing ABCL to fail here. If you remove that file/directory or indeed rename it to something not containing asterisk characters, loading quicklisp-abcl
should succeed.
Again, this is a bug in ABCL in handling asterisk characters in file names in that there is not a representation of a wildcard distinct from an asterisk. From what I remember SBCL distinguishes the two by representing wildcards as the symbol :wildcard
so there is a difference between
:wildcard "slime-repl sbcl" :wildcard
and
*slime-repl sbcl*
which would be my preferred change of our implementation. Not terribly difficult to implement, but involves working in both Java and Lisp as our Pathname hierarchy starts with a Java implementation https://github.com/armedbear/abcl/blob/master/src/org/armedbear/lisp/Pathname.java that is "decorated" via various helpers expressed in Lisp.
Thanks. It did the trick, however those files were automatically created by some software so they might just appear again. ABCL should be fixed since this is a long standing "bug".
On Wed, 2021-12-29 at 02:41 -0800, Mark Evenson wrote:
There is the problem:
38: (PROBE-DIRECTORY #P"/home/bpecsek/common-lisp/slime-repl sbcl") You have a file or directory named "slime-repl sbcl" under <~/common- lisp/> which is causing ABCL to fail here. If you remove that file/directory or indeed rename it to something not containing asterisk characters, loading quicklisp-abcl should succeed. Again, this is a bug in ABCL in handling asterisk characters in file names under in that there is not a representation of a wildcard distinct from an asterisk. From what I remember SBCL distinguishes the two by representing wildcards as the symbol :wildcard so there is a difference between :wildcard "slime-repl sbcl" :wildcard and slime-repl sbcl — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>