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