I am trying to use guile-wm, but it fails when I launch it.
I define an operating system that includes guile-wm as a package and
use it to build a virtual machine image. Here is the operating
system definition:
~~~~~
(use-modules (gnu) (gnu system nss))
(use-service-modules desktop)
(use-package-modules certs gnome guile-wm)
(operating-system
(host-name "piranhaplant")
(timezone "America/Boise")
(locale "en_US.utf8")
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(target "/dev/sda")))
(file-systems (cons (file-system
(device (file-system-label "mini8"))
(mount-point "/")
(type "ext4"))
%base-file-systems))
(users
%base-user-accounts)
(packages (cons* nss-certs
gvfs
guile-wm
%base-packages))
(services (cons* (gnome-desktop-service)
%desktop-services))
(name-service-switch %mdns-host-lookup-nss))
~~~~~
When I try to log in, it flashes an error so fast I cannot record
it, then returns to the login screen. When I launch it from a
console, it sends the following to stderr:
~~~~~
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; or pass the --no-auto-compile argument to disable.
;;; compiling
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/bin/.guile-wm-real
;;; compiling
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/shared.scm
;;; compiling
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml.scm
;;; compiling
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/connection.scm
;;; compiling
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/struct.scm
;;; compiling
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/type.scm
;;; compiling
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/enum.scm
;;; compiling
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/records.scm
;;; compiled
/root/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/records.scm.go
;;; compiled
/root/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/enum.scm.go
;;; compiled
/root/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/type.scm.go
;;; compiling
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/union.scm
;;; compiled
/root/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/union.scm.go
;;; compiled
/root/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/struct.scm.go
;;; compiled
/root/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/connection.scm.go
;;; compiling
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/doc.scm
;;; compiled
/root/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/doc.scm.go
;;; compiling
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/auth.scm
;;; WARNING: compilation of
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/auth.scm
failed:
;;; no code for module (xcb xml xproto)
;;; WARNING: compilation of
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml.scm
failed:
;;; no code for module (xcb xml xproto)
;;; compiling
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/core.scm
;;; WARNING: compilation of
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/xml/core.scm
failed:
;;; no code for module (xcb xml xproto)
;;; WARNING: compilation of
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/shared.scm
failed:
;;; no code for module (xcb xml xproto)
;;; WARNING: compilation of
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/bin/.guile-wm-real
failed:
;;; no code for module (xcb xml xproto)
;;; compiling
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/user.scm
;;; compiling
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/command.scm
;;; compiling
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/event-loop.scm
;;; WARNING: compilation of
/gnu/store/gv2n0k75d5svzcgwqna33nvhvczrj3z2-guile-xcb-1.3-1.db7d5a3/share/guile/site/2.2/xcb/event-loop.scm
failed:
;;; no code for module (xcb xml xproto)
;;; WARNING: compilation of
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/command.scm
failed:
;;; no code for module (xcb xml xproto)
;;; compiling
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/log.scm
;;; compiled
/root/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/log.scm.go
;;; compiling
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/keymap.scm
;;; compiled
/root/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/keymap.scm.go
;;; compiling
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/text.scm
;;; compiling
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/draw.scm
;;; WARNING: compilation of
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/draw.scm
failed:
;;; no code for module (xcb xml xproto)
;;; WARNING: compilation of
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/text.scm
failed:
;;; no code for module (xcb xml xproto)
;;; compiling
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/color.scm
;;; WARNING: compilation of
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/color.scm
failed:
;;; no code for module (xcb xml xproto)
;;; WARNING: compilation of
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/user.scm
failed:
;;; no code for module (xcb xml xproto)
;;; compiling
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/redirect.scm
;;; WARNING: compilation of
/gnu/store/q549b5c0fwds1l8bycvabva3jwr86p63-guile-wm-1.0-1.f3c7b3b/share/guile/site/2.2/guile-wm/redirect.scm
failed:
;;; no code for module (xcb xml xproto)
Backtrace:
In ice-9/boot-9.scm:
222:29 19 (map1 (((guile-wm keymap)) ((guile-wm redirect)) ((…))
…))
222:17 18 (map1 (((guile-wm redirect)) ((xcb event-loop)) ((…))
…))
2800:17 17 (resolve-interface (guile-wm redirect) #:select _
#:hide …)
In ice-9/threads.scm:
390:8 16 (_ _)
In ice-9/boot-9.scm:
2726:13 15 (_)
In ice-9/threads.scm:
390:8 14 (_ _)
In ice-9/boot-9.scm:
2994:20 13 (_)
2312:4 12 (save-module-excursion #<procedure 1942ab0 at
ice-9/boo…>)
3014:26 11 (_)
In unknown file:
10 (primitive-load-path "guile-wm/redirect" #<procedure
11…>)
In ice-9/eval.scm:
721:20 9 (primitive-eval (define-module (guile-wm redirect) # #
…))
In ice-9/psyntax.scm:
1235:36 8 (expand-top-sequence ((define-module (guile-wm #) # …))
…)
1182:24 7 (parse _ (("placeholder" placeholder)) ((top) #(# # …))
…)
285:10 6 (parse _ (("placeholder" placeholder)) (()) _ c&e
(eval) …)
In ice-9/eval.scm:
293:34 5 (_ #<module (#{ g23682}#) bf1aa0>)
In ice-9/boot-9.scm:
2874:4 4 (define-module* _ #:filename _ #:pure _ #:version _ # _
…)
2887:24 3 (_)
222:17 2 (map1 (((xcb xml xproto)) ((xcb xml)) ((xcb #)) ((…))
#))
2803:6 1 (resolve-interface _ #:select _ #:hide _ #:prefix _ # _
…)
In unknown file:
0 (scm-error misc-error #f "~A ~S" ("no code for modu…"
…) …)
ERROR: In procedure scm-error:
no code for module (xcb xml xproto)
Some deprecated features have been used. Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information. Set it to "no" to suppress
this message.
~~~~~
From what I can tell, it is attempting to re-compile guile-wm, and
cannot find the prerequisite guile-xcb package files.
Possible solutions:
-Edit the guile-wm package to include guile-xcb in the
propagated-inputs. As the manual says, "Another example where propagated-inputs
is useful is for languages
that lack a facility to record the run-time search path akin to the
RUNPATH of ELF files; this includes Guile, Python,
Perl, and
more. To ensure that libraries written in those languages can find
library code they depend on at run time, run-time dependencies must
be
listed in propagated-inputs rather than inputs ."
If there are no objections to taking this action as suggested by the
manual, here is a patch:
~~~~~
From 7bd5859eaef1b823ade87faa790092a553b40a91 Mon Sep 17 00:00:00
2001
From: jesse <address@hidden>
Date: Tue, 19 Mar 2019 16:19:38 -0600
Subject: [PATCH] Fix guile-wm to have guile-xcb as a
propagated-input.
---
gnu/packages/guile-wm.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/guile-wm.scm b/gnu/packages/guile-wm.scm
index 7b1731171..40b56d64e 100644
--- a/gnu/packages/guile-wm.scm
+++ b/gnu/packages/guile-wm.scm
@@ -139,8 +139,8 @@ dependencies.")
#t)))))
(native-inputs `(("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
- (inputs `(("guile" ,guile-2.2)
- ("guile-xcb" ,guile-xcb)))
+ (inputs `(("guile" ,guile-2.2)))
+ (propagated-inputs `(("guile-xcb" ,guile-xcb)))
(home-page "https://github.com/mwitmer/guile-wm/releases")
(description
"Guile-WM is a simple window manager that's completely
customizable—you
--
2.20.1
~~~~~
I could not test this fix because even in a guix environment and
pre-inst-env with the patch, guix does not recognize the file I
edited as the file that defines the guile-wm package. (I think
that's a problem with my OS.) However, when I included a similarly
revised definition of guile-wm in an OS definition, guile did not
try to re-build guile-wm, so I think this is progress on the
guile-wm crash bug. It does not allow me to run guile-wm as my
window manager, but it does fix one part of the problem.
-Jesse
|