[cl-irc-devel] Re: flexi-streams error when compiling cl-irc

Erik Huelsmann ehuels at gmail.com
Mon Aug 11 17:51:53 UTC 2008


On Mon, Aug 11, 2008 at 7:49 PM, John Li <jli at circularly.org> wrote:
> Hello,
>
> [I hope it's okay to mail you directly - I mailed cl-irc-devel
> initially, but the list apparently requires subscription.]
>
> I tried to install cl-irc 0.8.1 through asdf-install on SBCL today and got
> this error:
>
> ----------------------------------------------------------------
> ; compiling (DEFUN READ-MESSAGE-LOOP ...); compilation aborted because of fatal error:
> ;   READ failure in COMPILE-FILE:
> ;     SB-INT:SIMPLE-READER-PACKAGE-ERROR at 12354 (line 349, column 56) on #<SB-SYS:FD-STREAM for "file /home/jli/.sbcl/site/cl-irc-0.8.1/protocol.lisp" {B0B19E1}>:
> ;       Symbol "FLEXI-STREAM-ENCODING-ERROR" not found in the FLEXI-STREAMS package.
> ; compilation aborted after 0:00:00
>
> WARNING:
>   COMPILE-FILE warned while performing #<COMPILE-OP NIL {AE24061}> on
>   #<CL-SOURCE-FILE "protocol" {A8F0201}>.
>
> debugger invoked on a ASDF:COMPILE-FAILED in thread #<THREAD "initial thread" RUNNING {A834589}>:
>  erred while invoking #<COMPILE-OP NIL {AE24061}> on
>  #<CL-SOURCE-FILE "protocol" {A8F0201}>
> ----------------------------------------------------------------
>
>
> Line 349 of protocol.lisp is in this function:
>
> ----------------------------------------------------------------
> (defun try-decode-line (line external-formats)
>  (loop for external-format in external-formats
>        for decoded = nil
>        for error = nil
>        do (multiple-value-setq (decoded error)
>             (handler-case
>              (flexi-streams:with-input-from-sequence (in line)
>                (let ((flexi (flexi-streams:make-flexi-stream in
> ;;                                                              :element-type 'character
>                                                              :external-format
>                                                              (external-format-fixup external-format))))
>                  (read-line flexi nil nil)))
>              (flexi-streams:flexi-stream-encoding-error () ;; <-- line 349
>                  nil)))
>        if decoded
>        do (return decoded)))
> ----------------------------------------------------------------
>
>
> The flexi-streams package that asdf-install automatically installed is
> 1.0.5. The flexi-streams documentation
> (http://weitz.de/flexi-streams/) doesn't refer to any
> flexi-stream-encoding-error, though there is an
> external-format-encoding-error. Replacing the former with the latter
> allowed cl-irc to compile, though I haven't used cl-irc enough at this
> point to tell if this is actually correct.
>
> Could someone [you :)] confirm that this is change is correct?

I think this is indeed correct: the flexi-streams version cl-irc used
to be based on was a pre-1.0 version. Apparently, some classes have
been renamed. I'll check in the repository if this has already been
updated. If not, consider it so. However, since there's some partially
completed code in the trunk, I can't really create a new release the
way it is now. So, until usocket has its 0.4 release, we're stuck with
the version currently available on the web as the latest release.


Bye,

Erik.



More information about the cl-irc-devel mailing list