bug#81031: Installing Guile 3.0.11 on Ubuntu 22.04

Zyle Moore <[email protected]> Tue, 12 May 2026 20:59:27 -0700
Newsgroups gmane.lisp.guile.bugs
Message-ID <CAN4i4nO90_b5xx3vBVxVQ2UqAYcaL8uihKndAahqpqHRVKoKWQ@mail.gmail.com>
--000000000000cb22540651ab0371
Content-Type: text/plain; charset="UTF-8"

Hey everyone, I hope this is the right place to ask this.

I'm trying to build and install Guile from source on an Ubuntu machine. I
followed the instructions from
https://www.gnu.org/software/guile/manual/html_node/Obtaining-and-Installing-Guile.html
with the only difference being running `sudo make install` instead of `make
install`. Each stage finishes, and at the end, I see the libraries in
/usr/local/lib, and the executable in /usr/local/bin. But when I run `make
installcheck`, it looks like it can't find the header. When running `guile`
it also errors out with the same message. The full output from `make
installcheck` is below, followed by the `guile` output, followed by the
/usr/local file listing.

```
zymus@abyss:~/src/guile-3.0.11$ make installcheck
Making installcheck in lib
make[1]: Entering directory '/home/zymus/src/guile-3.0.11/lib'
make[2]: Entering directory '/home/zymus/src/guile-3.0.11/lib'
make[2]: Nothing to be done for 'installcheck-am'.
make[2]: Leaving directory '/home/zymus/src/guile-3.0.11/lib'
make[1]: Leaving directory '/home/zymus/src/guile-3.0.11/lib'
Making installcheck in meta
make[1]: Entering directory '/home/zymus/src/guile-3.0.11/meta'
make[1]: Nothing to be done for 'installcheck'.
make[1]: Leaving directory '/home/zymus/src/guile-3.0.11/meta'
Making installcheck in libguile
make[1]: Entering directory '/home/zymus/src/guile-3.0.11/libguile'
make[1]: Nothing to be done for 'installcheck'.
make[1]: Leaving directory '/home/zymus/src/guile-3.0.11/libguile'
Making installcheck in module
make[1]: Entering directory '/home/zymus/src/guile-3.0.11/module'
make[1]: Nothing to be done for 'installcheck'.
make[1]: Leaving directory '/home/zymus/src/guile-3.0.11/module'
Making installcheck in stage0
make[1]: Entering directory '/home/zymus/src/guile-3.0.11/stage0'
make[1]: Nothing to be done for 'installcheck'.
make[1]: Leaving directory '/home/zymus/src/guile-3.0.11/stage0'
Making installcheck in stage1
make[1]: Entering directory '/home/zymus/src/guile-3.0.11/stage1'
make[1]: Nothing to be done for 'installcheck'.
make[1]: Leaving directory '/home/zymus/src/guile-3.0.11/stage1'
Making installcheck in stage2
make[1]: Entering directory '/home/zymus/src/guile-3.0.11/stage2'
make[1]: Nothing to be done for 'installcheck'.
make[1]: Leaving directory '/home/zymus/src/guile-3.0.11/stage2'
Making installcheck in guile-readline
make[1]: Entering directory '/home/zymus/src/guile-3.0.11/guile-readline'
make[1]: Nothing to be done for 'installcheck'.
make[1]: Leaving directory '/home/zymus/src/guile-3.0.11/guile-readline'
Making installcheck in examples
make[1]: Entering directory '/home/zymus/src/guile-3.0.11/examples'
/usr/bin/mkdir -p box
gcc `PATH=/usr/local/bin:$PATH PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
/usr/local/bin/guile-config compile` -c box/box.c -o box/box.o
/usr/local/bin/guile: error while loading shared libraries:
libguile-3.0.so.1: cannot open shared object file: No such file or directory
box/box.c:23:10: fatal error: libguile.h: No such file or directory
   23 | #include <libguile.h>
      |          ^~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:2067: box/box.o] Error 1
make[1]: Leaving directory '/home/zymus/src/guile-3.0.11/examples'
make: *** [Makefile:2193: installcheck-recursive] Error 1
```

```
zymus@abyss:~/src/guile-3.0.11$ guile
guile: error while loading shared libraries: libguile-3.0.so.1: cannot open
shared object file: No such file or directory



*``````*zymus@abyss:/usr/local/lib$ ls -l
total 39996
drwxr-xr-x 3 root root     4096 May 12 19:53 guile
-rw-r--r-- 1 root root 23656936 May 12 20:44 libguile-3.0.a
-rwxr-xr-x 1 root root     1060 May 12 20:44 libguile-3.0.la
lrwxrwxrwx 1 root root       21 May 12 20:44 libguile-3.0.so ->
libguile-3.0.so.1.7.1
lrwxrwxrwx 1 root root       21 May 12 20:44 libguile-3.0.so.1 ->
libguile-3.0.so.1.7.1
-rwxr-xr-x 1 root root  6128424 May 12 20:44 libguile-3.0.so.1.7.1
-rw-r--r-- 1 root root    17453 May 12 20:44 libguile-3.0.so.1.7.1-gdb.scm
-rw-r--r-- 1 root root  7388858 May 12 12:58 libunistring.a
-rwxr-xr-x 1 root root      951 May 12 12:58 libunistring.la
lrwxrwxrwx 1 root root       21 May 12 12:58 libunistring.so ->
libunistring.so.5.2.1
lrwxrwxrwx 1 root root       21 May 12 12:58 libunistring.so.5 ->
libunistring.so.5.2.1
-rwxr-xr-x 1 root root  3734896 May 12 12:58 libunistring.so.5.2.1
drwxr-xr-x 2 root root     4096 May 12 20:44 pkgconfig
drwxr-xr-x 3 root root     4096 Feb 14  2025 python3.10
```

```
zymus@abyss:/usr/local/bin$ ls -l
total 40
-rwxr-xr-x 1 root root  2874 May 12 20:44 guild
-rwxr-xr-x 1 root root 22160 May 12 20:44 guile
-rwxr-xr-x 1 root root  6806 May 12 20:44 guile-config
-rwxr-xr-x 1 root root  3224 May 12 20:44 guile-snarf
lrwxrwxrwx 1 root root     5 May 12 20:44 guile-tools -> guild
```

```
zymus@abyss:/usr/local/include/guile/3.0$ ls -l
total 12
drwxr-xr-x 2 root root 4096 May 12 20:44 libguile
-rw-r--r-- 1 root root 3906 May 12 20:44 libguile.h
-rw-r--r-- 1 root root 2189 May 12 20:44 readline.h
```

--000000000000cb22540651ab0371
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hey everyone, I hope this is the right place to ask t=
his.<br><br></div>I&#39;m trying to build and install Guile from source on =
an Ubuntu machine. I followed the instructions from <a href=3D"https://www.=
gnu.org/software/guile/manual/html_node/Obtaining-and-Installing-Guile.html=
">https://www.gnu.org/software/guile/manual/html_node/Obtaining-and-Install=
ing-Guile.html</a> with the only difference being running `sudo make instal=
l` instead of `make install`. Each stage finishes, and at the end, I see th=
e libraries in /usr/local/lib, and the executable in /usr/local/bin. But wh=
en I run `make installcheck`, it looks like it can&#39;t find the header. W=
hen running `guile` it also errors out with the same message. The full outp=
ut from `make installcheck` is below, followed by the `guile` output, follo=
wed by the /usr/local file listing.=C2=A0<br><br>```<br>zymus@abyss:~/src/g=
uile-3.0.11$ make installcheck<br>Making installcheck in lib<br>make[1]: En=
tering directory &#39;/home/zymus/src/guile-3.0.11/lib&#39;<br>make[2]: Ent=
ering directory &#39;/home/zymus/src/guile-3.0.11/lib&#39;<br>make[2]: Noth=
ing to be done for &#39;installcheck-am&#39;.<br>make[2]: Leaving directory=
 &#39;/home/zymus/src/guile-3.0.11/lib&#39;<br>make[1]: Leaving directory &=
#39;/home/zymus/src/guile-3.0.11/lib&#39;<br>Making installcheck in meta<br=
>make[1]: Entering directory &#39;/home/zymus/src/guile-3.0.11/meta&#39;<br=
>make[1]: Nothing to be done for &#39;installcheck&#39;.<br>make[1]: Leavin=
g directory &#39;/home/zymus/src/guile-3.0.11/meta&#39;<br>Making installch=
eck in libguile<br>make[1]: Entering directory &#39;/home/zymus/src/guile-3=
.0.11/libguile&#39;<br>make[1]: Nothing to be done for &#39;installcheck&#3=
9;.<br>make[1]: Leaving directory &#39;/home/zymus/src/guile-3.0.11/libguil=
e&#39;<br>Making installcheck in module<br>make[1]: Entering directory &#39=
;/home/zymus/src/guile-3.0.11/module&#39;<br>make[1]: Nothing to be done fo=
r &#39;installcheck&#39;.<br>make[1]: Leaving directory &#39;/home/zymus/sr=
c/guile-3.0.11/module&#39;<br>Making installcheck in stage0<br>make[1]: Ent=
ering directory &#39;/home/zymus/src/guile-3.0.11/stage0&#39;<br>make[1]: N=
othing to be done for &#39;installcheck&#39;.<br>make[1]: Leaving directory=
 &#39;/home/zymus/src/guile-3.0.11/stage0&#39;<br>Making installcheck in st=
age1<br>make[1]: Entering directory &#39;/home/zymus/src/guile-3.0.11/stage=
1&#39;<br>make[1]: Nothing to be done for &#39;installcheck&#39;.<br>make[1=
]: Leaving directory &#39;/home/zymus/src/guile-3.0.11/stage1&#39;<br>Makin=
g installcheck in stage2<br>make[1]: Entering directory &#39;/home/zymus/sr=
c/guile-3.0.11/stage2&#39;<br>make[1]: Nothing to be done for &#39;installc=
heck&#39;.<br>make[1]: Leaving directory &#39;/home/zymus/src/guile-3.0.11/=
stage2&#39;<br>Making installcheck in guile-readline<br>make[1]: Entering d=
irectory &#39;/home/zymus/src/guile-3.0.11/guile-readline&#39;<br>make[1]: =
Nothing to be done for &#39;installcheck&#39;.<br>make[1]: Leaving director=
y &#39;/home/zymus/src/guile-3.0.11/guile-readline&#39;<br>Making installch=
eck in examples<br>make[1]: Entering directory &#39;/home/zymus/src/guile-3=
.0.11/examples&#39;<br>/usr/bin/mkdir -p box<br>gcc `PATH=3D/usr/local/bin:=
$PATH PKG_CONFIG_PATH=3D/usr/local/lib/pkgconfig /usr/local/bin/guile-confi=
g compile` -c box/box.c -o box/box.o<br>/usr/local/bin/guile: error while l=
oading shared libraries: libguile-3.0.so.1: cannot open shared object file:=
 No such file or directory<br>box/box.c:23:10: fatal error: libguile.h: No =
such file or directory<br>=C2=A0 =C2=A023 | #include &lt;libguile.h&gt;<br>=
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~~~~~~~~~~<br>co=
mpilation terminated.<br>make[1]: *** [Makefile:2067: box/box.o] Error 1<br=
>make[1]: Leaving directory &#39;/home/zymus/src/guile-3.0.11/examples&#39;=
<br>make: *** [Makefile:2193: installcheck-recursive] Error 1<br>```<br><br=
>```<br>zymus@abyss:~/src/guile-3.0.11$ guile<br>guile: error while loading=
 shared libraries: libguile-3.0.so.1: cannot open shared object file: No su=
ch file or directory<br><b>```<br><br>```<br></b>zymus@abyss:/usr/local/lib=
$ ls -l<br>total 39996<br>drwxr-xr-x 3 root root =C2=A0 =C2=A0 4096 May 12 =
19:53 guile<br>-rw-r--r-- 1 root root 23656936 May 12 20:44 libguile-3.0.a<=
br>-rwxr-xr-x 1 root root =C2=A0 =C2=A0 1060 May 12 20:44 <a href=3D"http:/=
/libguile-3.0.la">libguile-3.0.la</a><br>lrwxrwxrwx 1 root root =C2=A0 =C2=
=A0 =C2=A0 21 May 12 20:44 <a href=3D"http://libguile-3.0.so">libguile-3.0.=
so</a> -&gt; libguile-3.0.so.1.7.1<br>lrwxrwxrwx 1 root root =C2=A0 =C2=A0 =
=C2=A0 21 May 12 20:44 libguile-3.0.so.1 -&gt; libguile-3.0.so.1.7.1<br>-rw=
xr-xr-x 1 root root =C2=A06128424 May 12 20:44 libguile-3.0.so.1.7.1<br>-rw=
-r--r-- 1 root root =C2=A0 =C2=A017453 May 12 20:44 libguile-3.0.so.1.7.1-g=
db.scm<br>-rw-r--r-- 1 root root =C2=A07388858 May 12 12:58 libunistring.a<=
br>-rwxr-xr-x 1 root root =C2=A0 =C2=A0 =C2=A0951 May 12 12:58 <a href=3D"h=
ttp://libunistring.la">libunistring.la</a><br>lrwxrwxrwx 1 root root =C2=A0=
 =C2=A0 =C2=A0 21 May 12 12:58 libunistring.so -&gt; libunistring.so.5.2.1<=
br>lrwxrwxrwx 1 root root =C2=A0 =C2=A0 =C2=A0 21 May 12 12:58 libunistring=
.so.5 -&gt; libunistring.so.5.2.1<br>-rwxr-xr-x 1 root root =C2=A03734896 M=
ay 12 12:58 libunistring.so.5.2.1<br>drwxr-xr-x 2 root root =C2=A0 =C2=A0 4=
096 May 12 20:44 pkgconfig<br>drwxr-xr-x 3 root root =C2=A0 =C2=A0 4096 Feb=
 14 =C2=A02025 python3.10<br>```<br><br>```<br>zymus@abyss:/usr/local/bin$ =
ls -l<br>total 40<br>-rwxr-xr-x 1 root root =C2=A02874 May 12 20:44 guild<b=
r>-rwxr-xr-x 1 root root 22160 May 12 20:44 guile<br>-rwxr-xr-x 1 root root=
 =C2=A06806 May 12 20:44 guile-config<br>-rwxr-xr-x 1 root root =C2=A03224 =
May 12 20:44 guile-snarf<br>lrwxrwxrwx 1 root root =C2=A0 =C2=A0 5 May 12 2=
0:44 guile-tools -&gt; guild<br>```<br><br>```<br>zymus@abyss:/usr/local/in=
clude/guile/3.0$ ls -l<br>total 12<br>drwxr-xr-x 2 root root 4096 May 12 20=
:44 libguile<br>-rw-r--r-- 1 root root 3906 May 12 20:44 libguile.h<br>-rw-=
r--r-- 1 root root 2189 May 12 20:44 readline.h<br>```<br><b><br></b></div>

--000000000000cb22540651ab0371--