[CM] Re: Issues in running Snd-RT

David O'Toole dto@gnu.org
Sun, 22 Oct 2006 17:56:05 -0400


Hi Kjetil,

> Ouch, the realtime stuff is supposed to work without
> snd_conffile.scm. Why is snd_conffile.scm needed? san_dysth works just
> fine without snd_conffile.scm...

I uninstalled *all* versions of Snd on the system, then downloaded and
installed snd-ls as you suggested. 

I set my load path (see transcript below) and still get the exact same
error, about an unbound variable named "srfi-loaded":

> >(set! %load-path (cons "/home/dto/src/snd-ls-0.9.7.5/snd-8" %load-path)
> >
> >%load-path
> ("/home/dto/src/snd-ls-0.9.7.5/snd-8" "/usr/share/guile/site" "/usr/share/guile/1.6" "/usr/share/guile" ".")
> >(define snd-header-files-path "/home/dto/src/snd-ls-0.9.7.5/snd-8")
> #<unspecified>
> >(load-from-path "rt-compiler.scm")
> Unbound variable: srfi-loaded
> >
> unbound-variable

This variable is defined in snd_conffile.scm, which I cannot load
because I am configuring without GTK.

I tried just copying the one line from snd_conffile.scm but it doesn't
help. I get the long error shown below. 

> >(define srfi-loaded #f)
> #<unspecified>
> >(load-from-path "rt-compiler.scm")Deleting obsolete cached code  /root/snd-eval-c-cache/cache.PPLDJ5.so and /root/snd-eval-c-cache/cache.PPLDJ5 .

> Unbound variable: gtk_events_pending
> In unknown file:
>    ?:  0* [primitive-load-path "eval-c.scm"]
> In /home/dto/src/snd-ls-0.9.7.5/snd-8/eval-c.scm:
> 1619:  1* (let* ((dir #) (entry #)) (letrec (# #) (catch # # #)) (closedir dir))
> 1621:  2* (letrec ((continue #) (break #)) (catch (quote break) (lambda () #) ...))
> In unknown file:
>    ?:  3  [catch break #<procedure #f (() (continue))> #<procedure #f (v (cadr v))>]
>    ?:  4* [#<procedure #f (() (continue))>]
>    ?:  5* [continue]
>    ?:  6  (or (not (not #)) (begin (begin # #) (continue)))
>    ?:  7  (begin (begin (if # #) (set! entry #)) (continue))
>    ?:  8  [continue]
>    ?:  9  (or (not (not #)) (begin (begin # #) (continue)))
>    ?: 10  (begin (begin (if # #) (set! entry #)) (continue))
>    ?: 11* (begin (if (and # # # ...) (let # # #)) (set! entry (readdir dir)))
> In /home/dto/src/snd-ls-0.9.7.5/snd-8/eval-c.scm:
> 1622: 12* (if (and (not #) (not #) ...) (let (# #) (catch #t # ...) ...))
> 1627: 13  (let ((filename #) (itsokey #t)) (catch #t (lambda () # ...) ...) ...)
> 1644: 14  (if itsokey (if (or # # #) (begin # #) (set! eval-c-cache #)))
> 1645: 15  (if (or # # #) (begin # #) (set! eval-c-cache #))
> 1648: 16  (begin (c-display "Deleting obsolete cached code " # "and" ...) (system #))
> 1649: 17* [c-display "Deleting obsolete cached code " ...]
> In /home/dto/src/snd-ls-0.9.7.5/snd-8/oo.scm:
>  182: 18  (while (= 1 (gtk_events_pending)) (gtk_main_iteration))
>  182: 19  (letrec ((continue #) (break #)) (catch (quote break) (lambda () #) ...))
> In unknown file:
>    ?: 20  [catch break #<procedure #f (() (continue))> #<procedure #f (v (cadr v))>]
>    ?: 21* [#<procedure #f (() (continue))>]
>    ?: 22* [continue]
>    ?: 23  (or (not (= 1 #)) (begin (begin #) (continue)))
>    ?: 24* [not ...
> In /home/dto/src/snd-ls-0.9.7.5/snd-8/oo.scm:
>  182: 25* [= 1 ...
>  182: 26* (gtk_events_pending)

> >
> unbound-variable
> >


It appears that stuff included from rt-compiler.scm (the file oo.scm
in particular) depends on GTK, but only in one spot. I commented out
the body of that function and re-loaded rt-compiler.scm, which gave me
the following error:


> >
> unbound-variable
> >(load-from-path "rt-compiler.scm")
> Unbound variable: eval-c
> In unknown file:
>    ?: 0* [primitive-load-path "rt-compiler.scm"]
> In /home/dto/src/snd-ls-0.9.7.5/snd-8/rt-compiler.scm:
>   68: 1* (eval-c # "#include <config.h>" "#include <clm.h>" ...)

> >
> unbound-variable
>

So it appears that rt-compiler.scm requires eval-c.scm to be loaded
first. (This is not documented anywhere so far as I know.)

So I tried loading eval-c.scm. It also needs srfi-loaded defined. I
define it. I try loading again. Unbound variable: c-display. 

This is apparently defined in oo.scm. So I try loading that and get
this error: 

> define: misc-error: missing or extra expression () #f
> In unknown file:
>    ?: 0* [primitive-load-path "oo.scm"]
> In /home/dto/src/snd-ls-0.9.7.5/snd-8/oo.scm:
>  170: 1* (define (c-display . args))

> >
> misc-error
> >


This would appear to be a syntax error, though I'm not especially
familiar with Scheme. Has this been tested? 

-- 
David O'Toole 
dto@gnu.org
http://dto.freeshell.org/notebook/