[PlanetCCRMA] Xemacs and CLM problems solved, except...

Bob L. Sturm sturm@ccrma.Stanford.EDU
Mon Jun 30 21:31:01 2003


As far as the xemacs thing is concerned, I was missing a few packages: 
mail-lib, and fsf-compat. Xemacs has a cool little interface under "Tools" 
which will get any package you highlight. Once I did this, it was on to 
debuging Nando's custom.el package (located in ~/.xemacs).

Here is where there is a problem:

All the stuff dealing with acl (Allegro Common Lisp) needs to be commented 
out. Then toward the bottom this needs to be changed:
;;(global-set-key "\C-x\C-l" 'acl)
(global-set-key "\C-x\C-l" 'cmucl)

Once I did this, Xemacs loaded, and when I hit C-x C-l a second window 
popped up with lisp running. Of course it complained about ilisp not being 
compiled, but that is easily fixed with the command it tells you to do. 
Except you might have to change the permissions on the ilisp directory so 
you can write into it.

### Here are the problems in running CLM.
Now about running CLM. I know I need to load some all.lisp file, and the 
only way I could do this was to copy the entire directory 
/usr/share/common-lisp/source/clm/ into ~/clm/ and start xemacs there. 

So here is what I do in the lisp-command window in xemacs:
(pushnew :alsa *features*)

(:ALSA :CMN :CLM :LITTLE-ENDIAN :CLM2 :PCL-STRUCTURES 
:PORTABLE-COMMONLOOPS
 :PCL :PYTHON :GENCGC :RANDOM-MT19937 :MP :HASH-NEW :COMPLEX-FLOAT
 :SIGNED-ARRAY :CMU18D :CMU18 :DIRECT-SYSCALL :RELATIVE-PACKAGE-NAMES
 :LINKAGE-TABLE :X86 :LINUX :GLIBC2 :UNIX :COMMON :CMU :NEW-COMPILER
 :COMMON-LISP :ANSI-CL :IEEE-FLOATING-POINT)
* (load "all.lisp")
And everything loads without error. How can I do this automatically on 
C-x C-l?

And then I want to play with the birds:

* (compile-file "bird.ins")
Python version 1.0, VM version Intel x86 on 30 JUN 03 09:13:07 pm.
Compiling: /home/bob/clm/bird.ins 30 JUN 03 09:01:04 pm

; Writing "/home/bob/clm/clm_lnxcmu_BIRD.c"
; Compiling "/home/bob/clm/clm_lnxcmu_BIRD.c"
; Creating shared object file "/home/bob/clm/clm_lnxcmu_BIRD_0.so"
Converted |clm_lnxcmu_bird3|.
Compiling DEFINSTRUMENT BIRD: 
Converted |clm_lnxcmu_bird2|.
Compiling DEFINSTRUMENT BIRD: 
Converted BIRD.
Compiling DEFINSTRUMENT BIRD: 
Converted BIRD1.
Compiling DEFINSTRUMENT BIRD: 
Byte Compiling Top-Level Form: 
Byte Compiling Top-Level Form: 
Byte Compiling Top-Level Form: 
Byte Compiling Top-Level Form: 
Byte Compiling Top-Level Form: 
Byte Compiling Top-Level Form: 
Byte Compiling Top-Level Form: 
Compiling DEFINSTRUMENT BIRD: 
Compiling DEFINSTRUMENT BIRD: 
Byte Compiling Top-Level Form: 
Byte Compiling Creation Form for #<KERNEL::CLASS-CELL BIRD>: 
Compiling DEFINSTRUMENT BIRD: 
Compiling DEFINSTRUMENT BIRD: 
Compiling DEFINSTRUMENT BIRD: 
Byte Compiling Top-Level Form: 

bird.x86f written.
Compilation finished in 0:00:01.
#p"/home/bob/clm/bird.x86f"
NIL
NIL

Right? ANd then I want to hear the birds:
* (load "bird.cmucl")
; Loading #p"/home/bob/clm/bird.cmucl".
;;; Running /usr/bin/ld...
;;; Done.
;; Loading #p"/home/bob/clm/bird.x86f".
T
* 

Now how do I run it? And is this the correct process for starting a CLM 
session, compiling a file, loading an instrument, and making it sound?

Even when I look at the clm.html file it says:

    (compile-file "v.ins")
    (load "v")
    (with-sound () (fm-violin 0 1 440 .1)) 

But I get errors when I try to load v.
* (load "v")
; Loading #p"/home/bob/clm/v.x86f".

Undefined foreign symbol: "clm_lnxcmu_fm_violin2"

Restarts:
  0: [CONTINUE] Return NIL from load of "v".
  1: [ABORT   ] Return to Top-Level.

Debug  (type H for help)

(KERNEL::UNDEFINED-FOREIGN-SYMBOL-ERROR-HANDLER "<error finding name>"
                                                #.(SYSTEM:INT-SAP 
#x3FFFEAA0)
                                                #<Alien (* #) at 
#x3FFFE748>
                                                (14))
Source: Error finding source: 
Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM:  Source file no longer 
exists:
  target:code/interr.lisp.

So it must not be entirely clear to people outside the CCRMA circuit how 
to do this...and I did learn CLM way back in 1998 when I studied at CCRMA.

(Sorry my mails are so long, but I figure since I search through Google 
for errors I have found, and many of my searches take me to mail archives, 
this is a good reference for people who tread the same path as I.)

-Bob.

-- 
        //\		Bob L. Sturm
       || |		2535 Hacienda Drive
       || |		Santa Barbara, CA 93105
       || |		University of California, Santa Barbara
  ______\/_  ,		http://www.mat.ucsb.edu/~b.sturm/
 '||||||'  (o)		http://www.composerscientist.com/
 `------'--  \		http://www.mp3.com/BobLSturm
        /|\   \		http://www-ccrma.stanford.edu/~sturm/
               \