Groveller fails on ECL when libffi is used
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
CFFI |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Tested on Arch linux with ECL 15.3.7 and CFFI 0.15.0 (as shipped by Quicklisp)
The definition of pkg-config-cflags uses INVOKE to run "pkg-config libffi --cflags". On ECL, INVOKE always returns the fixed string "<see above>" (can be seen in the ECL definition of %INVOKE in invoke.lisp). This string is then passed to the grovel command line, resulting in an error.
The easiest way to reproduce this is to try to quickload the project "cl-rabbit" using ECL. The following output can be seen:
> (ql:quickload "cl-rabbit")
To load "cl-rabbit":
Load 1 ASDF system:
cl-rabbit
; Loading "cl-rabbit"
; pkg-config libffi --cflags
; cc -m64 -D_GNU_SOURCE -D_FILE_
Condition of type: GROVEL-ERROR
External process exited with code 1.
Command was: "cc" "-m64" " -D_GNU_SOURCE -D_FILE_
Output was:
<see above>
Available restarts:
1. (RETRY) Retry PROCESS-OP on #<grovel-file "cffi-libffi" "libffi" "libffi">.
2. (ACCEPT) Continue, treating PROCESS-OP on #<grovel-file "cffi-libffi" "libffi" "libffi"> as having been successful.
3. (RETRY) Retry ASDF operation.
4. (CLEAR-
5. (ABORT) Give up on "cl-rabbit"
6. (RESTART-TOPLEVEL) Go back to Top-Level REPL.
Broken at SI:BYTECODES. [Evaluation of: (QUICKLISP-
>>
summary: |
- Groveller fails on ECL + Groveller fails on ECL when libffi is used |
Changed in cffi: | |
status: | Fix Committed → Fix Released |
Fix for ECL has been commited. CLISP suffers from the same issue.