Never mind, I figured it out. The actual problem is I didn't get the
correct error message.

On Sat, Oct 17, 2020 at 2:12 PM K.L. <k.l.lam...@gmail.com> wrote:

> 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