[CM] cm,clm and sbcl

Bill Schottstaedt bil@ccrma.Stanford.EDU
Tue, 14 May 2002 04:24:17 -0700


> ; Writing "/home/zzk/clm/clm-2/clm_clp_PM.c"
> ; Compiling "/home/zzk/clm/clm-2/clm_clp_PM.c"
> /usr/lib/crt1.o(.rodata+0x4): undefined reference to ain'
> /tmp/ccuRu9Lp.o: In function lm_clp_pm4':

Before building CLM or using it in this system:

(pushnew :linux *features*)


>  and the run macro "cannot handle CONTROL in (CONTROL SIMP-ON)"
> when i try loading the simple realtime example

This is due to a Clisp limitation -- it has no foreign function
interface worth the name, so the real-time stuff cannot work.


> sbcl is derived from cmucl, with a few changes in focus.
> so, porting from cmucl to sbcl shouldnt be to difficult (famous last words)

CMN works in sbcl (with a minor change to cmn-init.lisp),
but CLM doesn't;  I made a few hundred changes for sbcl, but
finally stopped when I hit (in ffi.lisp):


debugger invoked on condition of type SB-INT:BUG:
    full call to SB-KERNEL:%INSTANCE-REF
  This is probably a bug in SBCL itself. (Alternatively, SBCL might have been
  corrupted by bad user code, e.g. by an undefined Lisp operation like
  (FMAKUNBOUND 'COMPILE), or by stray pointers from alien code or from unsafe
  Lisp code; or there might be a bug in the OS or hardware that SBCL is running
  on.) If it seems to be a bug in SBCL itself, the maintainers would like to
  know about it. Bug reports are welcome on the SBCL mailing lists, which you
  can find at <http://sbcl.sourceforge.net/>.


I'd rewrite this error message if I were associated with sbcl -- "corrupted
by bad user code" and "a bug in the OS or hardware" are just going to make
people laugh. Other things I noticed; sbcl stumbles on:

(defconstant a-name "a string")

claiming that I'm trying to set the value twice. And in ffi.lisp, it complains:

;   caught 1 fatal ERROR condition
compilation aborted because of input error:
  READ failure in COMPILE-FILE:
    READER-ERROR at 57154 on #<SB-SYS:FD-STREAM
                               for "file \"/home/bil/test/clm/ffi.lisp\""
                               {9346E89}>:
too many colons in "SB-ALIEN"