bug#81466: missing ice-9 module 'readline'

Tomas Volf via "Bug reports for GUILE, GNU's Ubiquitous Extension Language" <[email protected]> Sun, 26 Jul 2026 17:30:11 +0200
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
Augustine Benjamin via "Bug reports for GUILE, GNU's Ubiquitous
Extension Language" <[email protected]> writes:

> I recently built Guile Scheme from source starting with code from
> ftp://ftp.gnu.org/gnu/guile/guile-3.0.11.tar.gz, and the instructions at
> https://codeberg.org/guile/guile and
> http://doc.guix.gnu.org/guile/latest/en/html_node/Obtaining-and-Installing-Guile.html.
> The latest version of the manual mentions a module `(ice-9 readline)`
> that lets the Guile repl use the GNU readline library for convenience,
> but when attempting to run `(use-modules (ice-9 readline))` I get an
> error saying there is no code for the module. Indeed, it doesn't appear
> to come with the copy of the source that I have, and looking at the source at
> codeberg.org, I don't see an ice-9/readline.scm. I think either I was
> supposed to build differently, or it is missing from the source, or the
> reference manual shouldn't assert that new users have access to the
> module, but I'm not sure which of these are the case.
>
> (I understand that the expected way for me to install Guile is via my distribution's
> package manager, but the Guile 3.0 that fedora offers comes missing some
> pieces, most obviously the Guile reference manual. That's why I decided to build from source instead.)

(ice-9 readline) is implemented as a native extension built against GNU
Readline library.  Do you have in installed?  When I try to ./configure,
I see checks for libreadline:

--8<---------------cut here---------------start------------->8---
checking how to link with libreadline... -lreadline
checking for siginterrupt... (cached) yes
checking for rl_clear_signals... yes
checking for rl_cleanup_after_signal... yes
checking for rl_filename_completion_function... yes
checking whether rl_catch_signals is declared... yes
checking whether rl_catch_sigwinch is declared... yes
checking for rl_get_keymap_name... yes
checking for rl_getc_function pointer in readline... yes
--8<---------------cut here---------------end--------------->8---

and finally

--8<---------------cut here---------------start------------->8---
config.status: creating guile-readline/Makefile
--8<---------------cut here---------------end--------------->8---

Tomas

-- 
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.