lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guile REPL Server


From: Jean Abou Samra
Subject: Re: Guile REPL Server
Date: Tue, 17 May 2022 09:57:08 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1

Hello Hendursaga,


Le 17/05/2022 à 00:29, Hendursaga a écrit :
Hello LilyPond users!

I'm trying to start a REPL server[1] inside LilyPond's Guile interpreter, but I 
can't get it to even load readline support.


Readline support is an optional feature in Guile. It looks like
out new infrastructure for building binaries compiles Guile without
it. We may or may not want to do it (Readline is an extra dependency);
CCing Jonas on this matter.


Note that I am running the precompiled Linux unstable release binary, because I 
want to be able to use Guile 2.

```
$ lilypond scheme-sandbox
GNU LilyPond 2.23.8 (running Guile 2.2)
Processing `/usr/local/share/lilypond/2.23.8/ly/scheme-sandbox.ly'
Parsing...
/usr/local/share/lilypond/2.23.8/ly/scheme-sandbox.ly:21:2: error: GUILE 
signaled an error for the expression beginning here
#
  (load-user-init)
no code for module (ice-9 readline)

GNU Guile 2.2.7
Copyright (C) 1995-2019 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(#{ g102}#)> (use-modules (system repl server))
scheme@(#{ g102}#)> (run-server)
system/repl/server.scm:75:36: In procedure make-tcp-server-socket:
In procedure module-lookup: Unbound variable: INADDR_LOOPBACK

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(#{ g102}#) [1]> ,q
scheme@(#{ g102}#)> ,q
Success: compilation successfully completed
```

Nor can the Guile debugger script run, either..


This is a known issue. The Guile debugger is broken under Guile 2.
It would need a rewrite, but I guess this hasn't been a priority
for anyone so far.


Any suggestions for getting this working? Perhaps the Scheme sandbox is, well, 
sandboxing access? My system Guile 2 can load readline support, for instance. 
The docs[2] don't mention an inability to access readline through the sandbox, 
so I'm not sure where I'm going wrong here.


If this is an essential feature for you, building LilyPond from source
with the version of Guile provided by your system is an option.

Best,
Jean




reply via email to

[Prev in Thread] Current Thread [Next in Thread]