sionescu / iolib

Common Lisp I/O library
http://common-lisp.net/project/iolib/
MIT License
141 stars 31 forks source link

Broken on Mac with sbcl 1.4.1 #50

Closed fiddlerwoaroof closed 6 years ago

fiddlerwoaroof commented 6 years ago

When I use quickload to install iolib, I get the following error:

/Users/edwlan/.cache/common-lisp/sbcl-1.4.1-macosx-x64/Users/edwlan/quicklisp/dists/quicklisp/software/iolib-v0.8.2/src/syscalls/ffi-types-unix.c:140:24: error: expected expression
  CFFI_DEFCENUM_MEMBER(#A((7) BASE-CHAR . ":EDQUOT"), EDQUOT, NULL);
                       ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [RETRY                        ] Retry PROCESS-OP on #<GROVEL-FILE "iolib/syscalls" "ffi-types">.
  1: [ACCEPT                       ] Continue, treating PROCESS-OP on #<GROVEL-FILE "iolib/syscalls" "ffi-types"> as having been successful.
  2:                                 Retry ASDF operation.
  3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration.
  4: [ABORT                        ] Give up on "iolib"
  5:                                 Exit debugger, returning to top level.

(IOLIB/GROVEL::GROVEL-ERROR #<SIMPLE-STRING "External process exited with code ~S.~@
          ..." (len=167) {100239F9DF}> 1 "g++" ("-m64" "-Wno-write-strings" "-I" "/opt/local/include/" "-I/Users/edwlan/quicklisp/dists/quicklisp/software/iolib-v0.8.2/src/grovel/" "-o" "/Users/edwlan/.cache/common-lisp/sbcl-1.4.1-macosx-x64/Users/edwlan/quicklisp/dists/quicklisp/software/iolib-v0.8.2/src/syscalls/ffi-types-unix" "/Users/edwlan/.cache/common-lisp/sbcl-1.4.1-macosx-x64/Users/edwlan/quicklisp/dists/quicklisp/software/iolib-v0.8.2/src/syscalls/ffi-types-unix.c") "" #<SIMPLE-STRING "clang: warning: treating 'c' input as 'c++' when i..." (len=5523) {1003CD800F}>)
   source: (ERROR (QUOTE GROVEL-ERROR) :FORMAT-CONTROL FORMAT-CONTROL :FORMAT-ARGUMENTS FORMAT-ARGUMENTS)
0] :5
;
; compilation unit aborted
;   caught 2 fatal ERROR conditions
fiddlerwoaroof commented 6 years ago

It looks like this is a result of a change in the readable representation of certain kinds of arrays:

* (let ((*print-readably* t) (arr  (make-array 10 :element-type 'base-char))) (print arr))

#A((10) BASE-CHAR . "")
""
sionescu commented 6 years ago

That was fixed in version 0.8.3

fiddlerwoaroof commented 6 years ago

Oops, that’s what I get for only trying the quicklisp version.

sionescu commented 6 years ago

That surprises me because Quicklisp should be getting the latest Github release, which is 0.8.3.

fiddlerwoaroof commented 6 years ago

I have a suspicion that the mac I was using had iolib in its local-projects directory