I cannot load cffi-libffi in SBCL:
```
* (load "~/quicklisp/setup.lisp")
T
* (ql:quickload :cffi-libffi)
To load "cffi-libffi":
Load 1 ASDF system:
cffi-libffi
; Loading "cffi-libffi"
; pkg-config libffi --cflags
; cc -o /root/.cache/common-lisp/sbcl-1.5.2-linux-x64/root/quicklisp/dists/quicklisp/software/cffi_0.20.1/libffi/libffi-types__grovel-tmpGHU3ALSV.o -c -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wunused-parameter -fno-omit-frame-pointer -momit-leaf-frame-pointer -fno-pie -fPIC -I/root/quicklisp/dists/quicklisp/software/cffi_0.20.1/ /root/.cache/common-lisp/sbcl-1.5.2-linux-x64/root/quicklisp/dists/quicklisp/software/cffi_0.20.1/libffi/libffi-types__grovel.c
/root/.cache/common-lisp/sbcl-1.5.2-linux-x64/root/quicklisp/dists/quicklisp/software/cffi_0.20.1/libffi/libffi-types__grovel.c: In function ‘main’:
/root/.cache/common-lisp/sbcl-1.5.2-linux-x64/root/quicklisp/dists/quicklisp/software/cffi_0.20.1/libffi/libffi-types__grovel.c:12:7: warning: unused variable ‘autotype_tmp’ [-Wunused-variable]
int autotype_tmp;
^
; cc -o /root/.cache/common-lisp/sbcl-1.5.2-linux-x64/root/quicklisp/dists/quicklisp/software/cffi_0.20.1/libffi/libffi-types__grovel-tmpAAURSO1 -g -Wl,--export-dynamic -no-pie /root/.cache/common-lisp/sbcl-1.5.2-linux-x64/root/quicklisp/dists/quicklisp/software/cffi_0.20.1/libffi/libffi-types__grovel.o
cc: error: unrecognized command line option ‘-no-pie’
debugger invoked on a CFFI-GROVEL:GROVEL-ERROR in thread #<THREAD "main thread" RUNNING {10005305B3}>: Subprocess #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {1002898A43}>
with command ("cc" "-o" "/root/.cache/common-lisp/sbcl-1.5.2-linux-x64/root/quicklisp/dists/quicklisp/software/cffi_0.20.1/libffi/libffi-types__grovel-tmpAAURSO1" "-g" "-Wl,--export-dynamic" "-no-pie" "/root/.cache/common-lisp/sbcl-1.5.2-linux-x64/root/quicklisp/dists/quicklisp/software/cffi_0.20.1/libffi/libffi-types__grovel.o")
exited with error code 1
```
I am using SBCL 1.5.2, ASDF 3.3.1 and quicklisp 2019-02-16 on a Debian 8 64-bit system (kernel 3.16.0-8-amd64). I have deleted and reinstalled quicklisp.
I got the same error on SBCL 2.0, CentOS 7.3 (I need this package for gsll), but then the error dissapeared.
Here is the story.
After getting the error, I executed the offending command in bash, and got the following error: home/mirkov/ .cache/ common- lisp/sbcl- 2.0.0-linux- x64/export/ home/mirkov/ .roswell/ lisp/quicklisp/ dists/quicklisp /software/ cffi_0. 23.0/libffi/ libffi- types__ grovel- tmpG8099TO3 -g -Wl,--export- dynamic -no-pie /export/ home/mirkov/ .cache/ common- lisp/sbcl- 2.0.0-linux- x64/export/ home/mirkov/ .roswell/ lisp/quicklisp/ dists/quicklisp /software/ cffi_0. 23.0/libffi/ libffi- types__ grovel. o
$ gcc -o /export/
gcc: error: unrecognized command line option '-no-pie'
I then in bash changed the -no-pie option to -fno-pie. With that change the command executes succesfully.
From there the story gets murky. I *think* (as I did not keep notes) that the *ld-exe-flags* in c-toolchains.lisp contained the offending option. While trying to figuring out how *ld-exe-flags* gets its value, putting `break' here and there, recompiling functions, the error vanished.
Once the error vanished, the library compiled cleanly as did gsll.
Furthermore, I repeated the library installation on another account with its own quicklisp repo. The error did nor recurr.
Best regards,
Mirko