compile error common lisp

2k views Asked by At

I am trying to compile "my-project" common-lisp, this is the relevant sections, which breaks while compiling:

 (ql:quickload :cffi-grovel)
 (ql:quickload :static-vectors)

Compile Messages

  2: ASDF/ACTION:PERFORM returned NIL
  2: (ASDF/ACTION:PERFORM #<ASDF/LISP-ACTION:PREPARE-OP >
                          #<ASDF/SYSTEM:SYSTEM "static-vectors">)
  2: ASDF/ACTION:PERFORM returned NIL
  2: (ASDF/ACTION:PERFORM #<ASDF/LISP-ACTION:PREPARE-OP >
                          #<ASDF/LISP-ACTION:CL-SOURCE-FILE
                            "static-vectors" "pkgdcl">)
  2: ASDF/ACTION:PERFORM returned NIL
  2: (ASDF/ACTION:PERFORM #<ASDF/LISP-ACTION:COMPILE-OP >
                          #<ASDF/LISP-ACTION:CL-SOURCE-FILE
                            "static-vectors" "pkgdcl">)
..........................
[package static-vectors]      2: ASDF/ACTION:PERFORM returned NIL
  2: (ASDF/ACTION:PERFORM #<ASDF/LISP-ACTION:LOAD-OP >
                          #<ASDF/LISP-ACTION:CL-SOURCE-FILE
                            "static-vectors" "pkgdcl">)
  2: ASDF/ACTION:PERFORM returned T
  2: (ASDF/ACTION:PERFORM #<ASDF/LISP-ACTION:PREPARE-OP >
                          #<ASDF/LISP-ACTION:CL-SOURCE-FILE
                            "static-vectors" "constantp">)
  2: ASDF/ACTION:PERFORM returned NIL
  2: (ASDF/ACTION:PERFORM #<ASDF/LISP-ACTION:COMPILE-OP >
                          #<ASDF/LISP-ACTION:CL-SOURCE-FILE
                            "static-vectors" "constantp">)
  2: ASDF/ACTION:PERFORM returned NIL
  2: (ASDF/ACTION:PERFORM #<ASDF/LISP-ACTION:LOAD-OP >
                          #<ASDF/LISP-ACTION:CL-SOURCE-FILE
                            "static-vectors" "constantp">)
  2: ASDF/ACTION:PERFORM returned T
  2: (ASDF/ACTION:PERFORM #<ASDF/LISP-ACTION:PREPARE-OP >
                          #<ASDF/LISP-ACTION:CL-SOURCE-FILE
                            "static-vectors" "initialize">)
  2: ASDF/ACTION:PERFORM returned NIL
  2: (ASDF/ACTION:PERFORM #<ASDF/LISP-ACTION:COMPILE-OP >
                          #<ASDF/LISP-ACTION:CL-SOURCE-FILE
                            "static-vectors" "initialize">)
.      2: ASDF/ACTION:PERFORM returned NIL
  2: (ASDF/ACTION:PERFORM #<ASDF/LISP-ACTION:LOAD-OP >
                          #<ASDF/LISP-ACTION:CL-SOURCE-FILE
                            "static-vectors" "initialize">)
  2: ASDF/ACTION:PERFORM returned T
  2: (ASDF/ACTION:PERFORM #<ASDF/LISP-ACTION:PREPARE-OP >
                          #<CFFI-GROVEL:GROVEL-FILE
                            "static-vectors" "ffi-types">)
  2: ASDF/ACTION:PERFORM returned NIL
  2: (ASDF/ACTION:PERFORM #<CFFI-GROVEL::PROCESS-OP >
                          #<CFFI-GROVEL:GROVEL-FILE
                            "static-vectors" "ffi-types">)
; cc -m64 -o /home/me/.cache/common-lisp/sbcl-1.3.1.debian-linux-x64/home    /me/.dotfiles/sbcl/.quicklisp/dists/quicklisp/software/static-vectors-1.6/src/ffi-types__grovel-tmpOU81XRV0 -I/home/me/.dotfiles/sbcl/.quicklisp/dists/quicklisp/software/cffi_0.17.1/ /home/me/.cache/common-lisp/sbcl-1.3.1.debian-linux-x64/home/me/.dotfiles/sbcl/.quicklisp/dists/quicklisp/software/static-vectors-1.6/src/ffi-types__grovel.c
    3: (RUN-PROGRAM "cc" ("-m64" "-o" "/home/me/.cache/common-lisp/sbcl-1.3.1.debian-linux-x64/home/me/.dotfiles/sbcl/.quicklisp/dists/quicklisp/software/static-vectors-1.6/src/ffi-types__grovel-tmpOU81XRV0" "-I/home/me/.dotfiles/sbcl/.quicklisp/dists/quicklisp/software/cffi_0.17.1/" "/home/me/.cache/common-lisp/sbcl-1.3.1.debian-linux-x64/home/me/.dotfiles/sbcl/.quicklisp/dists/quicklisp/software/static-vectors-1.6/src/ffi-types__grovel.c") :INPUT T :OUTPUT T :ERROR T :WAIT T :ALLOW-OTHER-KEYS T :IF-INPUT-DOES-NOT-EXIST :ERROR :IF-OUTPUT-EXISTS :OVERWRITE :IF-ERROR-EXISTS :OVERWRITE :SEARCH T :IF-OUTPUT-DOES-NOT-EXIST :CREATE :IF-ERROR-DOES-NOT-EXIST :CREATE :WAIT T :INPUT :INTERACTIVE :OUTPUT :INTERACTIVE :ERROR-OUTPUT :INTERACTIVE :INPUT :INTERACTIVE :ERROR-OUTPUT :INTERACTIVE :IF-INPUT-DOES-NOT-EXIST :ERROR :IF-OUTPUT-EXISTS :OVERWRITE :IF-ERROR-OUTPUT-EXISTS :OVERWRITE :ELEMENT-TYPE :DEFAULT :EXTERNAL-FORMAT :UTF-8 :OUTPUT :INTERACTIVE :ERROR-OUTPUT :INTERACTIVE)

strange behavior:

My floating x-terminal-emulator-window (X11, i3-Window-Manager) is popping up to the front! I have to kill this window, to get the compile process going on, but after that it lands directly in the DEBUGGER, with following condition:

Error/Debugger

#<error printing object> cannot be printed readably.
[Condition of type CFFI-GROVEL:GROVEL-ERROR]

Restarts:
0: [RETRY] Retry PROCESS-OP on #<GROVEL-FILE "static-vectors" "ffi-types">.
1: [ACCEPT] Continue, treating PROCESS-OP on #<GROVEL-FILE "static-vectors" "ffi-types"> as having been successful.
2: [RETRY] Retry ASDF operation.
3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration.
4: [ABORT] Give up on "my-project"
5: [RETRY] Retry EVAL of current toplevel form.
--more--

Backtrace:
0: (CFFI-GROVEL:GROVEL-ERROR "~a" #<PRINT-NOT-READABLE {100E16CC53}>)
1: ((LAMBDA NIL :IN CFFI-GROVEL:PROCESS-GROVEL-FILE))
2: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<CLOSURE (LAMBDA NIL :IN CFFI-GROVEL:PROCESS-GROVEL-FILE) {100AEB197B}>)
3: ((:METHOD ASDF/ACTION:PERFORM (CFFI-GROVEL::PROCESS-OP CFFI-GROVEL:GROVEL-FILE)) #<CFFI-GROVEL::PROCESS-OP > #<CFFI-GROVEL:GROVEL-FILE "static-vectors" "ffi-types">) [fast-method]
4: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unavailable argument> #<unavailable argument> #<CFFI-GROVEL::PROCESS-OP > #<CFFI-GROVEL:GROVEL-FILE "static-vectors" "ffi-types">)
5: (SB-DEBUG::TRACE-CALL #<SB-DEBUG::TRACE-INFO ASDF/ACTION:PERFORM> #<CLOSURE (LAMBDA (SB-PCL::.ARG0. SB-PCL::.ARG1.) :IN "/build/sbcl-X2E_zI/sbcl-1.3.1/src/pcl/dlisp3.fasl") {10053FF57B}> #<CFFI-GROVEL..
6: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<CFFI-GROVEL::PROCESS-OP > #<CFFI-GROVEL:GROVEL-FILE "static-vectors" "ffi-types">) [fast-method]
7: ((:METHOD ASDF/PLAN:PERFORM-PLAN (LIST)) ((#<ASDF/LISP-ACTION:PREPARE-OP > . #1=#<ASDF/SYSTEM:SYSTEM "uiop">) (#2=#<ASDF/LISP-ACTION:COMPILE-OP > . #1#) (#3=#<ASDF/LISP-ACTION:LOAD-OP > . #1#) (#<CFFI..
8: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
9: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) ((#<ASDF/LISP-ACTION:PREPARE-OP > . #1=#<ASDF/SYSTEM:SYSTEM "uiop">) (#2=#<ASDF/LISP-ACTION:COMPILE-OP > . #1#) (#3=#<ASDF/LISP-ACTION:LOAD-OP > . #1#) (#..
10: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))

After "ACCEPT"ing the condition and treating PROCESS-OP on # as having been successful, the compile process goes on, followed by a simple error, because the compiled fasl-file couldn't be found.

Troubleshoot

After being confused about such a side effect on my local SBCL+SLIME setup, i tried

1.) delete $HOME/.cache/common-lisp/ and re-compile, without success or change.

2.) installing a fresh environment via Roswell and run from there, which gave me the same error, plus a terminal-warning, which may shed some light on the problem:

** (x-terminal-emulator:27111): WARNING **: Binding '<Shift><Control><Alt>a' failed!
Unable to bind hide_window key, another instance/window has it.
PluginRegistry::load_plugins: Importing plugin __init__.py failed: 'module' object has no attribute 'AVAILABLE'

I am not sure, if and how these occurences depend on each other, so how can i start to fix this window behavior?

How could I proceed to compile the failed components?

1

There are 1 answers

4
LeinadLime On

The error has been circumvented - although executing the pure RUN-PROGRAM throws the same error on my system - by following the guideline of ASDF 3 in Appendix D

As an example use, the proper way to use the CFFI library is to use :defsystem-depends-on ("cffi-grovel") as below, which defines the class asdf::cffi-grovel, that can be designated by the keyword :cffi-grovel amongst the components of the system:

(defsystem "some-system-using-ffi"
  :defsystem-depends-on ("cffi-grovel")
  :depends-on ("cffi")
  :components
  ((:cffi-grovel "foreign-functions")
   ...))

After inserting this in my-project.asd, there compile error has been gone.