[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/