[CM] Re: ats under cmucl

Juan Pampin juan@ccrma.Stanford.EDU
Thu, 27 Jun 2002 22:02:41 -0700 (PDT)


Too bad I wasn't reading email I could have used some of your help, thanks 
Fernando!.

Ok, I've spent a few hours and finally got everything working with
clm-2/cmucl, it wasn't that easy. There were quite a few things that work
fine on ACL that didn't want to work on CMUCL (in particular coerces), and
CMUCL's "Type-error in KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER:" message
didn't help me much finding the problems :)
On ACL, I overwrite the structure-generated copy-sound with one of my own
and that is fine with it (just gives you a warning), I had to rename this
function (that is used in a bunch of other functions) to make CMUCL happy.
The other problem was that when running CLM with CMUCL ins compiled files
get loaded indirectly using the *.cmucl files, so I couldn't find a way to
compile the ATS instruments in a batch from the all.cl file, because CLM
will create a all.cmucl file and then try loading the wrong file. I'm sure
this can be fixed.

Anyways, I have a version of ATS that runs on CMUCL, for now it will be a
separate tarball. I'm sending it to 'shreeswifty' by private email but
I'll upload it to the ftp sever in case other people want to get it
(please README.cmucl for installation details).

JUAN

   

Fernando Pablo Lopez-Lezcano wrote:

> I tried to compile ats under cmucl and so far no luck. What I've found so
> far:
> 
> The ats-cl function in all.cl borrowed from Bill's clm is for acl and does
> not work correctly under cmucl. I created one from Bill's code for cmucl
> and then compiling and loading happens as it should.
> 
> In utilities.cl '(excl:gc)' is acl specific, the correct cmucl invocation
> appears to be '(extensions:gc)'. After fixing that with a pair of #+
> conditional compilation switches things keep going for a while.
> 
> And then compilation reaches copy-sound.cl, in function copy-ats-sound the 
> compilation fails with a puzzling:
> 
> Compiling DEFUN COPY-ATS-SOUND: 
> Type-error in KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER:
>    0 is not of type KERNEL:CTYPE
> 
> Restarts:
>   0: [CONTINUE] Return NIL from load of "all.cl".
>   1: [ABORT   ] Return to Top-Level.
> 
> Debug  (type H for help)
> 
> (KERNEL:TYPES-INTERSECT 2 0 #<ARRAY-TYPE (SIMPLE-VECTOR 20)>)[:EXTERNAL]
> 
> I have no clue what that means. Erasing the function enables me to
> continue. Changing the _name_ of the function enables me to continue (for
> example to load-xxx-ats, this is after restarting lisp from scratch,
> erasing all binaries in bin/ and recompiling. Very weird.
> 
> In save-load-sound.cl I forgot that I needed to load the clm1.lisp
> extension that enables binary reads and writes (used to exist in clm-1 and
> was not initially part of clm-2). So I tried to compile and load it and it
> seems that some of the functions are not defined for cmucl:
> 
> Warning: These functions are undefined:
>   C-READ-FLOATS C-READ-INTS C-SEEK C-WRITE-FLOATS C-WRITE-INTS
> 
> Hopefully those would be able to be implemented at some point... after 
> ignoring the warning compilation of save-load-sound.cl gives warnings 
> (obviously):
> 
> Python version 1.0, VM version Intel x86 on 27 JUN 02 08:56:01 pm.
> Compiling: /user/n/nando/work/ats/ATS-1.0/src/save-load-sound.cl 10 APR 02 
> 09:54:44 pm
> 
> Converted ATS-SAVE.
> Compiling DEFUN ATS-SAVE: 
> 
> File: /user/n/nando/work/ats/ATS-1.0/src/save-load-sound.cl
> 
> In: DEFUN ATS-SAVE
>   (POSITION K BAND-L)
> --> DO BLOCK LET TAGBODY RETURN-FROM 
> ==>
>   (PROGN NIL)
> Warning: This is not a (VALUES &OPTIONAL (MOD 536870911) &REST T):
>   NIL
> [Last message occurs 2 times]
> 
> Converted ATS-LOAD.
> Compiling DEFUN ATS-LOAD: 
> Byte Compiling Top-Level Form: 
> 
> File: /user/n/nando/work/ats/ATS-1.0/src/save-load-sound.cl
> 
> In: DEFUN ATS-LOAD
>   (C-CLOSE FD)
> Warning: Undefined function: C-CLOSE
> 
> 
> In: DEFUN ATS-SAVE
>   (C-CLOSE FD)
> Warning: Undefined function: C-CLOSE
> 
>   (C-CREATE-FILE FILE)
> Warning: Undefined function: C-CREATE-FILE
> 
> 
> In: DEFUN ATS-LOAD
>   (C-OPEN-INPUT-FILE FILE)
> Warning: Undefined function: C-OPEN-INPUT-FILE
> 
> 
> Warning: These functions are undefined:
>   C-CLOSE C-CREATE-FILE C-OPEN-INPUT-FILE
> 
> 
> Compilation unit finished.
>   7 warnings
> 
> 
> /user/n/nando/work/ats/ATS-1.0/bin/save-load-sound.x86f written.
> Compilation finished in 0:00:01.
> ;; Loading #p"/user/n/nando/work/ats/ATS-1.0/bin/save-load-sound.x86f".
> 
> 
> And finally when compiling sin-synth.ins:
> 
> 
> Python version 1.0, VM version Intel x86 on 27 JUN 02 08:59:02 pm.
> Compiling: /user/n/nando/work/ats/ATS-1.0/synth/sin-synth.ins 10 APR 02 
> 09:54:44 pm
> 
> ; Writing "clm_lnxcmu_SIN-SYNTH.c"
> ; Compiling "clm_lnxcmu_SIN-SYNTH.c"
> ; Creating shared object file "clm_lnxcmu_SIN-SYNTH.so"
> Converted |clm_lnxcmu_sin_synth3|.
> Compiling DEFINSTRUMENT SIN-SYNTH: 
> Converted |clm_lnxcmu_sin_synth2|.
> Compiling DEFINSTRUMENT SIN-SYNTH: 
> Converted SIN-SYNTH.
> Compiling DEFINSTRUMENT SIN-SYNTH: 
> 
> File: /user/n/nando/work/ats/ATS-1.0/synth/sin-synth.ins
> 
> In: DEFINSTRUMENT SIN-SYNTH
>   'FRQ
> Note: Deleting unreachable code.
> 
>   'AMP
> Note: Deleting unreachable code.
> 
> Converted SIN-SYNTH1.
> Compiling DEFINSTRUMENT SIN-SYNTH: 
> Byte Compiling Top-Level Form: 
> Byte Compiling Top-Level Form: 
> Byte Compiling Top-Level Form: 
> Compiling DEFINSTRUMENT SIN-SYNTH: 
> Converted |(PCL::FAST-METHOD OBJECT-PARAMETERS (SIN-SYNTH))|.
> Compiling DEFINSTRUMENT SIN-SYNTH: 
> Compiling Load Time Value of (PCL::GET-MAKE-INSTANCE-FUNCTION-SYMBOL 
> '(SIN-SYNTH NIL NIL)): 
> Byte Compiling Top-Level Form: 
> Byte Compiling Creation Form for #<KERNEL::CLASS-CELL SIN-SYNTH>: 
> 
> Compilation unit finished.
>   2 notes
> 
> 
> /user/n/nando/work/ats/ATS-1.0/synth/sin-synth.x86f written.
> Compilation finished in 0:00:01.
> ;; Loading #p"/user/n/nando/work/ats/ATS-1.0/synth/sin-synth.x86f".
> 
> 
> Error in function COMMON-LISP::FOREIGN-SYMBOL-ADDRESS-AUX:
>    Unknown foreign symbol: "clm_lnxcmu_sin_synth2"
> 
> Restarts:
>   0: [CONTINUE] Return NIL from load of 
> "/user/n/nando/work/ats/ATS-1.0/synth/sin-synth.x86f".
>   1:            Return NIL from load of "all.cl".
>   2: [ABORT   ] Return to Top-Level.
> 
> Debug  (type H for help)
> 
> (COMMON-LISP::FOREIGN-SYMBOL-ADDRESS-AUX "clm_lnxcmu_sin_synth2")
> 
> That's as far as I got... too late to continue...
> -- Fernando
> 
> 
> _______________________________________________
> Cmdist mailing list
> Cmdist@ccrma.stanford.edu
> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist
>