[iolib-devel] compilation error

Peter Keller psilord at cs.wisc.edu
Thu Dec 24 17:55:01 UTC 2009


Hello,

I'm *very* new to Common Lisp and have only just started understanding
how to use packages and asdf. I have a client/server application in mind,
of which I've already written a fair amount (using the asdf module system),
and I would like to use iolib to multiplex the i/o.

I'm using sbcl 1.0.18.debian on an ubuntu 9.04 x86 box.

I initially used asdf to set up iolib and it picked the iolib-0.6.0
package and downloaded/compiled a bunch of denpendencies.  There were
some problems compiling it concerning its dependencies, which I'm sorry
to say I did not record or what I did to get around them--but it had to
do with cffi-grovel not being a package asdf new about, and I believe I
had to install cffi by hand before iolib would finish compiling becaue
the grovel module was now part of the cffi.

So, I started looking around for an example for how to use iolib,
and found one online in the current sources for iolib called
echo-server.lisp. It took a while for me to realize that net.sockets in
the iolib-0.6.0 version was moved to iolib.sockets in the current sources, and
after noticing that some other API changes happened and whatnot, I removed the
iolib-0.6.0 site and system from my ~/.sbcl/{site,system} directory, removed
the asd file symlinks, and git checked out the head of iolib.

I put that checkout into the above mentioned place, hand set up the asd
symlinks, and tried (require 'iolib) again. 

This is what I got:

* (require 'iolib)

... compile lines ...

debugger invoked on a SB-PCL::INITARG-ERROR in thread #<THREAD "initial thread" RUNNING {A834819}>:
  Invalid initialization argument:
    :SONAME
  in call for class #<STANDARD-CLASS CFFI-GROVEL:WRAPPER-FILE>.
See also:
  The ANSI Standard, Section 7.1.2

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

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

(SB-PCL::CHECK-RI-INITARGS
 #<CFFI-GROVEL:WRAPPER-FILE  {AC30651}>
 (:NAME "ffi-wrappers" :PATHNAME "ffi-wrappers-unix" :PARENT
  #<ASDF:SYSTEM "iolib.syscalls" {AC27D91}> :SONAME "libiolib-syscalls"))
0] 

I don't know how to get around this error.

I apologize for my gross misunderstanding of how to do all of this. I'm in the
process of figuring it out.

Thank you.

-pete




More information about the iolib-devel mailing list