Groveller fails on ECL when libffi is used

Bug #1472926 reported by Elias Martenson
6
This bug affects 1 person
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_OFFSET_BITS=64 -g -O2 -fPIC -D_THREAD_SAFE -Dlinux <see above> -I/home/emartenson/quicklisp/dists/quicklisp/software/cffi_0.15.0/ -o /home/emartenson/.cache/common-lisp/ecl-15.3.7-a4283c3f-linux-x64/home/emartenson/quicklisp/dists/quicklisp/software/cffi_0.15.0/libffi/libffi-unix /home/emartenson/.cache/common-lisp/ecl-15.3.7-a4283c3f-linux-x64/home/emartenson/quicklisp/dists/quicklisp/software/cffi_0.15.0/libffi/libffi-unix.c

Condition of type: GROVEL-ERROR
External process exited with code 1.
Command was: "cc" "-m64" " -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fPIC -D_THREAD_SAFE -Dlinux" "<see above>" "-I/home/emartenson/quicklisp/dists/quicklisp/software/cffi_0.15.0/" "-o" "/home/emartenson/.cache/common-lisp/ecl-15.3.7-a4283c3f-linux-x64/home/emartenson/quicklisp/dists/quicklisp/software/cffi_0.15.0/libffi/libffi-unix" "/home/emartenson/.cache/common-lisp/ecl-15.3.7-a4283c3f-linux-x64/home/emartenson/quicklisp/dists/quicklisp/software/cffi_0.15.0/libffi/libffi-unix.c"
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-CONFIGURATION-AND-RETRY) Retry ASDF operation after resetting the configuration.
5. (ABORT) Give up on "cl-rabbit"
6. (RESTART-TOPLEVEL) Go back to Top-Level REPL.

Broken at SI:BYTECODES. [Evaluation of: (QUICKLISP-CLIENT:QUICKLOAD "cl-rabbit")] In: #<process TOP-LEVEL>.
>>

Tags: ecl
summary: - Groveller fails on ECL
+ Groveller fails on ECL when libffi is used
Revision history for this message
Luís Oliveira (luismbo) wrote :

Fix for ECL has been commited. CLISP suffers from the same issue.

Changed in cffi:
status: New → Confirmed
Revision history for this message
Luís Oliveira (luismbo) wrote :
Changed in cffi:
status: Confirmed → Fix Committed
Luís Oliveira (luismbo)
Changed in cffi:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.