From: myglc2 <myglc2@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 0/6] Error reporting and hints for missing modules
Date: Fri, 10 Nov 2017 09:47:37 -0500 [thread overview]
Message-ID: <86shdmtcl2.fsf@gmail.com> (raw)
In-Reply-To: <87vaijgikt.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 10 Nov 2017 00:04:18 +0100")
[-- Attachment #1: Type: text/plain, Size: 2220 bytes --]
On 11/10/2017 at 00:04 Ludovic Courtès writes:
>
> Thrilled by this idea, I pushed an unbound-variable handler that can
> provide hints, such as:
>
> configuration.scm:88:19: zip: unbound variable
> hint: Try adding `(use-modules (gnu packages compression))'.
>
> Feedback welcome!
I built and played with this. If I follow some of the hints literally
they lead me astray. Here are some suggested hint rewording.
Note: You can reproduce the errors/hints below with the attached files.
HTH - George
HINT REWORDING SUGGESTIONS:
*** test2: "NON EXISTANT PACKAGE MODULE (qemu) for qemu PACKAGE SPECIFIED"
The error messages ...
/root/ctest/test2:4:0: error: module (gnu packages qemu) not found
hint: Try adding `(use-package-modules virtualization)'.
... are followed literally in test2.fix, which does not fix the
problem because the stale and non-existant 'qemu' package module
reference also needs to be removed.
Maybe a better hint would be ...
hint: Remove the reference to the pachage module that was not
hint: found and add `(use-package-modules virtualization)'.
*** test3: 'NON EXISTANT (openssh) SERVICE MODULE specified'
This has the same conceptual problem as test2 above.
The error messages ...
/root/ctest/test3:3:0: error: module (gnu services openssh) not found
hint: Try adding `(use-service-modules ssh)'.
... are followed literally in test3.fix, which does not fix the
problem because the non-existant 'openssh' service module
reference also needs to be removed.
Maybe a better hint would be ...
hint: Remove the reference to the service module that was not
hint: found and add `(use-service-modules ssh)'.
*** test4: "SERVICE MODULE (ssh) for openssh-service-type SERVICE MISSING"
A more helpful hint here ...
/root/ctest/test4:46:19: /root/ctest/test4:46:19: openssh-service-type: unbound variable
hint: Did you forget a `use-modules' form?
... would be ...
hint: Try adding `(use-service-modules ssh)'.
***
VERSION INFO:
74bea6a03 gnu: linux-libre: Update to 4.13.12.
make check failed as reported in bug#29245 but I don't think those
errors affect what I am seeing here.
TEST FILES:
[-- Attachment #2: test0.scm --]
[-- Type: application/octet-stream, Size: 1657 bytes --]
;;; GuixSD headless server
(use-modules (gnu))
(use-service-modules networking ssh)
(use-package-modules
virtualization
)
(operating-system
(host-name "g1")
(timezone "America/New_York")
(locale "en_US.utf8")
(kernel-arguments '("console=ttyS1,115200"))
;; RAID1 root using 1 NVMe SSD + 2 HDs
(bootloader (grub-configuration (target "/dev/nvme0n1")
(terminal-outputs '(console))
(terminal-inputs '(serial console))
(serial-speed 115200)
))
(initrd (lambda (file-systems . rest) (apply base-initrd file-systems
#:extra-modules '("raid1")
rest)))
(mapped-devices (list (mapped-device
(source '("/dev/nvme0n1p1" "/dev/sda1" "/dev/sdb1"))
(target "/dev/md3")
(type raid-device-mapping))))
(file-systems (cons (file-system
(title 'device)
(device "/dev/md3")
(mount-point "/")
(type "ext4")
(dependencies mapped-devices))
%base-file-systems))
(swap-devices '("/dev/nvme0n1p2" ))
(users (cons* (user-account (name "g1")
(group "users")
(supplementary-groups '("wheel" "kvm"))
(home-directory (string-append "/home/" name)))
(user-account (name "admin")
(group "users")
(supplementary-groups '("wheel" "kvm"))
(home-directory (string-append "/home/" name)))
%base-user-accounts))
(packages (cons*
qemu
%base-packages))
(services (cons* (dhcp-client-service)
(ntp-service)
(service openssh-service-type (openssh-configuration
(x11-forwarding? #t)))
(agetty-service (agetty-configuration (tty "ttyS1")
(baud-rate "115200")))
%base-services)))
[-- Attachment #3: try.sh --]
[-- Type: application/x-sh, Size: 1517 bytes --]
[-- Attachment #4: try.sh.log --]
[-- Type: application/octet-stream, Size: 3157 bytes --]
+ echo test0: 'CONFIRM BASE CASE WORKS'
test0: CONFIRM BASE CASE WORKS
+ guix system build test0.scm
/gnu/store/cbxq30y970hhcn8dyyi9imzs716lvnkj-system
+ echo
+ echo test1: 'PACKAGE MODULE for qemu PACKAGE (virtualization) IS NOT SPECIFIED'
test1: PACKAGE MODULE for qemu PACKAGE (virtualization) IS NOT SPECIFIED
+ sed /virtualization/d test0.scm
+ diff test0.scm test1
5d4
< virtualization
+ guix system build test1
/root/ctest/test1:32:9: /root/ctest/test1:32:9: qemu: unbound variable
hint: Try adding `(use-modules (gnu packages virtualization))'.
+ echo
+ echo test1.fix:
test1.fix:
+ sed '/virtualization/d
/(use-package-modules/i(use-modules (gnu packages virtualization))' test0.scm
+ diff test0.scm test1.fix
3a4
> (use-modules (gnu packages virtualization))
5d5
< virtualization
+ guix system build test1.fix
/gnu/store/cbxq30y970hhcn8dyyi9imzs716lvnkj-system
+ echo
+ echo test2: 'NON EXISTANT PACKAGE MODULE (qemu) for qemu PACKAGE SPECIFIED'
test2: NON EXISTANT PACKAGE MODULE (qemu) for qemu PACKAGE SPECIFIED
+ sed s/virtualization/qemu/ test0.scm
+ diff test0.scm test2
5c5
< virtualization
---
> qemu
+ guix system build test2
/root/ctest/test2:4:0: error: module (gnu packages qemu) not found
hint: Try adding `(use-package-modules virtualization)'.
+ echo
+ echo test2.fix
test2.fix
+ sed 's/virtualization/qemu/
/(use-package-modules/ i(use-package-modules virtualization)
' test0.scm
+ diff test0.scm test2.fix
3a4
> (use-package-modules virtualization)
5c6
< virtualization
---
> qemu
+ guix system build test2.fix
/root/ctest/test2.fix:5:0: error: module (gnu packages qemu) not found
hint: Try adding `(use-package-modules virtualization)'.
+ echo
+ echo test3: 'NON EXISTANT (openssh) SERVICE MODULE specified'
test3: NON EXISTANT (openssh) SERVICE MODULE specified
+ sed 's/(use-service-modules networking ssh)/(use-service-modules networking openssh)/' test0.scm
+ diff test0.scm test3
3c3
< (use-service-modules networking ssh)
---
> (use-service-modules networking openssh)
+ guix system build test3
/root/ctest/test3:3:0: error: module (gnu services openssh) not found
hint: Try adding `(use-service-modules ssh)'.
+ echo
+ echo test3.fix
test3.fix
+ sed 's/(use-service-modules networking ssh)/(use-service-modules networking openssh)/
/(use-service-modules/ i(use-service-modules ssh)
' test0.scm
+ diff test0.scm test3.fix
3c3,4
< (use-service-modules networking ssh)
---
> (use-service-modules ssh)
> (use-service-modules networking openssh)
+ guix system build test3.fix
/root/ctest/test3.fix:4:0: error: module (gnu services openssh) not found
hint: Try adding `(use-service-modules ssh)'.
+ echo
+ echo test4: 'SERVICE MODULE (ssh) for openssh-service-type SERVICE MISSING'
test4: SERVICE MODULE (ssh) for openssh-service-type SERVICE MISSING
+ sed 's/(use-service-modules networking ssh)/(use-service-modules networking)/' test0.scm
+ diff test0.scm test4
3c3
< (use-service-modules networking ssh)
---
> (use-service-modules networking)
+ guix system build test4
/root/ctest/test4:46:19: /root/ctest/test4:46:19: openssh-service-type: unbound variable
hint: Did you forget a `use-modules' form?
+ echo
next prev parent reply other threads:[~2017-11-10 14:47 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-06 20:12 The usability of Guix configurations myglc2
2017-11-06 22:16 ` Leo Famulari
2017-11-06 23:26 ` bug#29072: " myglc2
2017-11-06 23:26 ` myglc2
2017-11-07 1:56 ` myglc2
2017-11-07 11:05 ` julien lepiller
2017-11-07 12:52 ` Hartmut Goebel
2017-11-07 13:13 ` julien lepiller
2017-11-07 14:11 ` myglc2
2017-11-07 14:52 ` julien lepiller
2017-11-07 15:59 ` myglc2
2017-11-07 16:25 ` [PATCH] " julien lepiller
[not found] ` <867ev2t13i.fsf@gmail.com>
2017-11-07 21:27 ` Julien Lepiller
2017-11-07 22:56 ` myglc2
2017-11-07 22:47 ` Reporting module errors Ludovic Courtès
2017-11-08 1:26 ` myglc2
2017-11-08 10:52 ` Hartmut Goebel
2017-11-08 14:02 ` Ludovic Courtès
2017-11-08 13:09 ` [PATCH 0/6] Error reporting and hints for missing modules Ludovic Courtès
2017-11-08 13:09 ` [PATCH 1/6] ui: Introduce (guix i18n) Ludovic Courtès
2017-11-08 13:09 ` [PATCH 2/6] ui: Define and honor '&error-location' and '&fix-hint' conditions Ludovic Courtès
2017-11-08 13:09 ` [PATCH 3/6] services: 'fold-service-types' honors its seed Ludovic Courtès
2017-11-08 13:09 ` [PATCH 4/6] services: 'fold-service-types' includes (gnu services) Ludovic Courtès
2017-11-08 13:09 ` [PATCH 5/6] services: Add 'lookup-service-types' Ludovic Courtès
2017-11-08 13:09 ` [PATCH 6/6] gnu: Improve error reporting of the use-.*modules macros Ludovic Courtès
2017-11-11 2:02 ` Chris Marusich
2017-11-11 13:56 ` Ludovic Courtès
2017-11-11 17:00 ` Chris Marusich
2017-11-08 15:33 ` [PATCH 0/6] Error reporting and hints for missing modules julien lepiller
2017-11-08 17:42 ` myglc2
2017-11-08 19:07 ` myglc2
2017-11-08 21:42 ` Ludovic Courtès
2017-11-09 23:04 ` Ludovic Courtès
2017-11-10 14:47 ` myglc2 [this message]
2017-11-10 23:01 ` Julien Lepiller
2017-11-11 22:00 ` Ludovic Courtès
2017-11-11 22:02 ` Ludovic Courtès
2017-11-14 1:12 ` myglc2
2017-11-30 10:44 ` Ludovic Courtès
2017-11-07 14:45 ` The usability of Guix configurations Hartmut Goebel
2017-11-07 1:56 ` bug#29072: " myglc2
2017-11-07 2:30 ` myglc2
2017-11-07 2:30 ` myglc2
2017-11-07 3:03 ` myglc2
2017-11-07 2:59 ` myglc2
2017-11-07 20:54 ` myglc2
2017-11-06 22:16 ` bug#29072: " Leo Famulari
2017-11-07 10:23 ` Ludovic Courtès
2017-11-08 19:40 ` myglc2
2017-11-07 10:23 ` bug#29072: " Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86shdmtcl2.fsf@gmail.com \
--to=myglc2@gmail.com \
--cc=guix-devel@gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.