Hello guys.

I built myself a *libguile.so* with guile-1.8.8 source code. When running,
I got the error:

> Unbound variable: define-private


According to my debug tracing, the initialization of *scm_init_guile* has
been executed safely. And I'm sure that *boot-9.scm* has been loaded. The
error occurred at a user scm file:

(define-public (randomize-rand-seed)
> (ly:randomize-rand-seed)
> (let*
> ((t (gettimeofday))
> (seed (*
> (cdr t)
> (car t)
> (getpid))))
> (set! *random-state* (seed->random-state seed))))
>
>
I saw that the C function *getpid* has been called, then the error was
thrown.

And I noticed that the *define-private* was referenced only once in
boot-9.scm around all guile-1.8.8 assets:

> (define define-private define)
>
> (defmacro define-public args
> (define (syntax)
> (error "bad syntax" (list 'define-public args)))
> (define (defined-name n)
> (cond
> ((symbol? n) n)
> ((pair? n) (defined-name (car n)))
> (else (syntax))))
> (cond
> ((null? args)
> (syntax))
> (#t
> (let ((name (defined-name (car args))))
> `(begin
> (*define-private* ,@args)
> (eval-case ((load-toplevel) (export ,name))))))))
>
>
I tried to replace 'define-private' by 'define', and I got an error of
'Unbound variable: define'. I'm new in language Scheme and GUILE, I have no
idea what happened.

I adjusted some C building config options to adapt the Android NDK build
environment. That seems not related to this problem, but I'm not sure. Here
is my config.h
<https://gitlab.com/k.l.lambda/lilypond/-/blob/dev/kl/android-port/node-addon/android/third-party/libs/guile/x86/config.h>
.

Thanks for any help.

Reply via email to