1

I am using Steel Bank Common Lisp 1.5.2 with ASDF 3.3.1 and quicklisp 2019-02-16. I need to load the cl-libusb library, and it is failing with the error:

cc: error: unrecognized command line option ‘-no-pie’

Having googled for this error, I discover that newer versions of cc don't support the -no-pie option. However, this knowledge doesn't help me load cl-libusb.

I am running Debian 8 64-bit, kernel 3.16.0-8-amd64.

Complete output:

* (load "~/quicklisp/setup.lisp")
T

* (ql:quickload :cl-libusb)
To load "cl-libusb":
  Load 1 ASDF system:
    cl-libusb
; Loading "cl-libusb"
..; 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’
While evaluating the form starting at line 21, column 0
  of #P"/root/quicklisp/dists/quicklisp/software/gsll-quicklisp-eeeda841-git/gsll.asd":

debugger invoked on a ASDF/FIND-SYSTEM:LOAD-SYSTEM-DEFINITION-ERROR in thread #<THREAD "main thread" RUNNING {10005305B3}>: Error while trying to load definition for system gsll from pathname /root/quicklisp/dists/quicklisp/software/gsll-quicklisp-eeeda841-git/gsll.asd: Subprocess #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {1003308A43}>
 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

Also, I suspect this -no-pie issue isn't the only problem. I originally had cl-libusb installed and working, but then I started getting a strange error for no apparent reason. In an attempt to solve the problem, I deleted my quicklisp installation and reinstalled it.

The strange error was:

; file: /root/quicklisp/dists/quicklisp/software/cffi_0.20.1/toolchain/bundle.lisp
; in: DEFUN BUNDLE-PATHNAME-TYPE
;     ((UIOP/OS:OS-UNIX-P) "o")
;
; caught ERROR:
;   illegal function call

;     ((UIOP/OS:OS-WINDOWS-P)
;      (IF (UIOP/OS:FEATUREP '(:OR :MINGW32 :MINGW64))
;          "o"
;          "obj"))
jww
  • 97,681
  • 90
  • 411
  • 885
Sod Almighty
  • 1,768
  • 1
  • 16
  • 29

0 Answers0