cffi-grovel processes cl-libuv's grovel.lisp, produces a C file, compiles it with cc, runs the resulting executable to produce a Lisp file which is then compiled and loaded. That Lisp file is what contains a defctype form that defines the libuv::size-t type which is then referenced by the next file in cl-libuv.asd.
The ASDF integration bits for the cffi-grovel component are in cffi/grovel/asdf.lisp. Maybe some tracing and/or print debugging there can provide a clue.
HTH, Luís
On Tue, 30 May 2023, 07:48 Zach Beane, xach@xach.com wrote:
Full log is here:
http://report.quicklisp.org/2023-05-29/failure-report/cl-libuv.html#cl-libuv
Here's part of it:
; file: /home/quicklisp/quicklisp-controller/dist/build-cache/cl-libuv/9f0aced1c6a2ef1737696a9a577f65fbf922334a/cl-libuv-20230529-git/bindings.lisp ; in: DEFCFUN ("uv_loop_size" UV-LOOP-SIZE) ; (CFFI:DEFCFUN ("uv_loop_size" LIBUV::UV-LOOP-SIZE) ; LIBUV::SIZE-T) ; ; caught ERROR: ; (during macroexpansion of (DEFCFUN ("uv_loop_size" UV-LOOP-SIZE) ...)) ; Unknown CFFI type SIZE-T
If I try compiling the library in isolation, it seems to work. Is it possible I've got some kind of stale fasl environment going on? Is there more research I can do to understand why this happens?
Thanks, Zach