* bug#33262: guix fails to find and use some available substitutes
@ 2018-11-05 1:09 George Clemmer
2018-11-05 1:29 ` George Clemmer
2018-11-05 8:26 ` Julien Lepiller
0 siblings, 2 replies; 5+ messages in thread
From: George Clemmer @ 2018-11-05 1:09 UTC (permalink / raw)
To: 33262
[-- Attachment #1: Type: text/plain, Size: 1823 bytes --]
I run 'guix system vm-image' VMs on a GuixSD server (hostname g1). The
VMs are configured to get substitutes from g1 in addition to the
official Guix servers.
This works great except that the VMs are failing to find/use some of the
substitutes that are available on g1. E.g., in the attached log
(setup.log.gz) of the first 'guix package' issued on VM sysi58, curl is
built ...
building /gnu/store/24ag580271wa640529ycykdwj0lk0g6z-curl-7.61.1.tar.xz.drv...
downloading from https://curl.haxx.se/download/curl-7.61.1.tar.xz...
building /gnu/store/17lw3svpjqygpj739yynyz6b8abddikx-curl-7.61.1.drv...
... when the substitute is available in the g1 store ...
/gnu/store:
-r--r--r-- 2 root root 3747 Dec 31 1969
17lw3svpjqygpj739yynyz6b8abddikx-curl-7.61.1.drv
This is "infrequent", in the sense that a high percentabe of the
substitutes available from g1 are being found and used. However, these
other packages for which substitutes are available on g1 are also built:
downloading from ftp://ftp.knackered.org/pub/psutils/psutils.tar.gz...
downloading from http://download.osgeo.org/libtiff/tiff-4.0.9.tar.gz...
downloading from https://ftpmirror.gnu.org/gnu/groff/groff-1.22.3.tar.gz...
downloading from https://github.com/apple/cups/releases/download/v2.2.8/cups-2.2.8-source.tar.gz...
downloading from https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs924/ghostscript-9.24.tar.xz...
downloading from https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.3.tar.bz2...
downloading from http://www.x.org/releases/individual/lib/libX11-1.6.6.tar.bz2...
downloading from http://www.x.org/releases/individual/lib/xtrans-1.3.5.tar.bz2...
Details:
Using Guix from Git:
Server g1: sys.scm v0.15.0-2913-g21c51ebd6
VM sysi58: sysi58.scm v0.15.0-3115-g7571ec357
TIA - George
[-- Attachment #2: sysi58.scm --]
[-- Type: application/octet-stream, Size: 1938 bytes --]
;; -*-Scheme-*-
;;; minimal 'guix system vm-image' config ~ sys.scm
(define sys-packages
'(
"cups"
"git"
"glibc-utf8-locales"
"mosh"
"nss-certs"
"openssh"
"screen"
))
(use-modules (gnu))
(use-modules (gnu packages))
(use-modules (gnu system nss)) ; name service switch
(use-service-modules
avahi
networking ; dhcp-client-service
ssh ; openssh-service-type
)
(define %my-services
(modify-services %base-services
(guix-service-type config =>
(guix-configuration
(inherit config)
(substitute-urls (list "http://g1.local:8080"
"https://mirror.hydra.gnu.org"
"https://hydra.gnu.org"
"https://berlin.guixsd.org"
))))))
(operating-system
(host-name "sysi58")
(timezone "America/New_York")
(locale "en_US.utf8")
(bootloader (grub-configuration (target "/dev/sda")))
(file-systems (cons (file-system
(device (file-system-label "g1sd"))
(mount-point "/")
(type "ext4"))
%base-file-systems))
(users (cons*
(user-account
(name "g1")
(group "users")
(supplementary-groups '("wheel"))
(home-directory "/home/g1"))
(user-account
(name "al")
(group "users")
(supplementary-groups '("wheel"))
(home-directory "/home/al"))
%base-user-accounts))
(packages (append (map specification->package sys-packages)
%base-packages))
(services (cons*
(dhcp-client-service)
(service openssh-service-type
(openssh-configuration
(x11-forwarding? #t)
(permit-root-login #t)
(allow-empty-passwords? #t)
(authorized-keys
`(
("g1" ,(local-file "glc.pub"))
("al" ,(local-file "glc.pub"))
("root" ,(local-file "glc.pub"))))))
(avahi-service)
(ntp-service)
(extra-special-file "/etc/gen/sysi58.scm"
(local-file "sysi58.scm"))
%my-services))
(name-service-switch %mdns-host-lookup-nss))
[-- Attachment #3: sys.scm --]
[-- Type: application/octet-stream, Size: 3488 bytes --]
;; -*-Scheme-*-
;; g1: GuixSD headless server w/ NVMe M.2 SSD root drive
(define sys-packages
'(
"cups"
"emacs-no-x"
"emacs-guix"
"emacs-paredit"
"freeipmi"
"git"
"glibc-utf8-locales"
"magit"
"mdadm"
"mosh"
"nss-certs"
"openssh"
"qemu"
"screen"
"smartmontools"
))
(use-modules (gnu))
(use-modules (gnu packages))
(use-modules (gnu system nss)) ; name service switch
(use-service-modules
admin ; rottlog
avahi
networking ; static, ntp
ssh ; openssh-service-type
mcron
)
(define updatedb-job
;; Run 'updatedb' at 3AM every day.
#~(job '(next-hour '(3))
(lambda ()
(execl (string-append #$findutils "/bin/updatedb")
"updatedb"
"--prunepaths=/tmp /var/tmp /gnu/store"))))
(define garbage-collector-job
;; Collect garbage 45 minutes after midnight every day.
#~(job "45 0 * * *" ;Vixie cron syntax
"guix gc -F 1G"))
(define backup-job
;; backup ssd 5 minutes after midnight every day.
#~(job "5 0 * * *" ;Vixie cron syntax
"/root/bin/bussd"))
(define %my-services
(modify-services %base-services
(agetty-service-type config =>
(agetty-configuration
(tty "ttyS1")
(baud-rate "115200")
(term "xterm-256color")))
(guix-service-type config =>
(guix-configuration
(inherit config)
(substitute-urls (list "https://mirror.hydra.gnu.org"
"https://hydra.gnu.org"
"https://berlin.guixsd.org"
))))))
(operating-system
(host-name "g1")
(timezone "America/New_York")
(locale "en_US.utf8")
(kernel-arguments '("console=ttyS1,115200"))
;; NVMe M.2 SSD root drive
(bootloader (grub-configuration (target "/dev/nvme0n1")
(terminal-outputs '(console))
(terminal-inputs '(serial console))
(serial-speed 115200)
))
(file-systems (cons (file-system
(device (file-system-label "g1NVMe"))
(mount-point "/")
(type "ext4"))
%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 "al")
(group "users")
(supplementary-groups '("wheel" "kvm"))
(home-directory (string-append "/home/" name)))
(user-account (name "glc")
(group "users")
(supplementary-groups '("wheel" "kvm"))
(home-directory (string-append "/home/" name)))
%base-user-accounts))
(packages (append (map specification->package
sys-packages)
%base-packages))
(services (cons* (static-networking-service
"enp3s0" "192.168.1.7"
#:gateway "192.168.1.1"
#:name-servers '("192.168.1.1" "46.17.102.24"))
(service openssh-service-type
(openssh-configuration
(x11-forwarding? #t)
(permit-root-login #t)
(authorized-keys
`(
("g1" ,(local-file "glc.pub"))
("glc" ,(local-file "glc.pub"))
("root" ,(local-file "glc.pub"))))))
(service rottlog-service-type)
(mcron-service (list garbage-collector-job
updatedb-job
backup-job))
(avahi-service)
(ntp-service)
(service guix-publish-service-type
(guix-publish-configuration
(host "0.0.0.0")
(port 8080)))
%my-services))
(name-service-switch %mdns-host-lookup-nss))
[-- Attachment #4: setup.log.gz --]
[-- Type: application/octet-stream, Size: 9080 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#33262: guix fails to find and use some available substitutes
2018-11-05 1:09 bug#33262: guix fails to find and use some available substitutes George Clemmer
@ 2018-11-05 1:29 ` George Clemmer
2018-11-05 8:26 ` Julien Lepiller
1 sibling, 0 replies; 5+ messages in thread
From: George Clemmer @ 2018-11-05 1:29 UTC (permalink / raw)
To: 33262
[-- Attachment #1: Type: text/plain, Size: 104 bytes --]
Oops, the server config attached to the previous email is incorrect,
sorry. Here is the correct one:
[-- Attachment #2: sys.scm --]
[-- Type: application/octet-stream, Size: 3588 bytes --]
;; g1: GuixSD headless server w/ NVMe M.2 SSD root drive
(define sys-packages
'(
"cups"
"emacs-ag"
"emacs-no-x"
"emacs-guix"
"emacs-paredit"
"freeipmi"
"git"
"glibc-utf8-locales"
"magit"
"mdadm"
"mosh"
"nss-certs"
"openssh"
"qemu"
"screen"
"smartmontools"
"virt-viewer" ;; remote-viewer > spice > VM
))
(use-modules (gnu))
(use-modules (gnu packages))
(use-modules (gnu system nss)) ; name service switch
(use-service-modules
admin ; rottlog
avahi
networking ; static, ntp
ssh ; openssh-service-type
mcron
)
(define updatedb-job
;; Run 'updatedb' at 3AM every day.
#~(job '(next-hour '(3))
(lambda ()
(execl (string-append #$findutils "/bin/updatedb")
"updatedb"
"--prunepaths=/tmp /var/tmp /gnu/store"))))
(define garbage-collector-job
;; Collect garbage 45 minutes after midnight every day.
#~(job "45 0 * * *" ;Vixie cron syntax
"guix gc -F 1G"))
(define backup-job
;; backup ssd 5 minutes after midnight every day.
#~(job "5 0 * * *" ;Vixie cron syntax
"/root/bin/bussd"))
(define %my-services
(modify-services %base-services
(agetty-service-type config =>
(agetty-configuration
(tty "ttyS1")
(baud-rate "115200")
(term "xterm-256color")))
(guix-service-type config =>
(guix-configuration
(inherit config)
(substitute-urls (list "http://g1.local:8080"
"https://mirror.hydra.gnu.org"
"https://hydra.gnu.org"
"https://berlin.guixsd.org"
))))))
(operating-system
(host-name "g1")
(timezone "America/New_York")
(locale "en_US.utf8")
(kernel-arguments '("console=ttyS1,115200"))
;; NVMe M.2 SSD root drive
(bootloader (grub-configuration (target "/dev/nvme0n1")
(terminal-outputs '(console))
(terminal-inputs '(serial console))
(serial-speed 115200)
))
(file-systems (cons (file-system
(device (file-system-label "g1NVMe"))
(mount-point "/")
(type "ext4"))
%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 "al")
(group "users")
(supplementary-groups '("wheel" "kvm"))
(home-directory (string-append "/home/" name)))
(user-account (name "glc")
(group "users")
(supplementary-groups '("wheel" "kvm"))
(home-directory (string-append "/home/" name)))
%base-user-accounts))
(packages (append (map specification->package
sys-packages)
%base-packages))
(services (cons* (static-networking-service
"enp3s0" "192.168.1.7"
#:gateway "192.168.1.1"
#:name-servers '("192.168.1.1" "46.17.102.24"))
(service openssh-service-type
(openssh-configuration
(x11-forwarding? #t)
(permit-root-login #t)
(authorized-keys
`(
("g1" ,(local-file "glc.pub"))
("glc" ,(local-file "glc.pub"))
("root" ,(local-file "glc.pub"))))))
(service rottlog-service-type)
(mcron-service (list garbage-collector-job
updatedb-job
backup-job))
(avahi-service)
(ntp-service)
(service guix-publish-service-type
(guix-publish-configuration
(host "0.0.0.0")
(port 8080)))
%my-services))
(name-service-switch %mdns-host-lookup-nss))
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#33262: guix fails to find and use some available substitutes
2018-11-05 1:09 bug#33262: guix fails to find and use some available substitutes George Clemmer
2018-11-05 1:29 ` George Clemmer
@ 2018-11-05 8:26 ` Julien Lepiller
2018-11-05 17:21 ` George Clemmer
1 sibling, 1 reply; 5+ messages in thread
From: Julien Lepiller @ 2018-11-05 8:26 UTC (permalink / raw)
To: George Clemmer, 33262
I think guix' message is a bit confusing: the .drv file is always created by guix, it's the derivation. The derivation is built, which results in a new store path. It can be built locally or by using a substitute. What you see in your store is the derivation (.drv), not its result. You can open that file to find where the result will be stored and check if it exists on your machine.
Le 5 novembre 2018 02:09:56 GMT+01:00, George Clemmer <myglc2@gmail.com> a écrit :
>I run 'guix system vm-image' VMs on a GuixSD server (hostname g1). The
>VMs are configured to get substitutes from g1 in addition to the
>official Guix servers.
>
>This works great except that the VMs are failing to find/use some of
>the
>substitutes that are available on g1. E.g., in the attached log
>(setup.log.gz) of the first 'guix package' issued on VM sysi58, curl is
>built ...
>
>building
>/gnu/store/24ag580271wa640529ycykdwj0lk0g6z-curl-7.61.1.tar.xz.drv...
>downloading from https://curl.haxx.se/download/curl-7.61.1.tar.xz...
>building /gnu/store/17lw3svpjqygpj739yynyz6b8abddikx-curl-7.61.1.drv...
>
>... when the substitute is available in the g1 store ...
>
> /gnu/store:
> -r--r--r-- 2 root root 3747 Dec 31 1969
> 17lw3svpjqygpj739yynyz6b8abddikx-curl-7.61.1.drv
>
>This is "infrequent", in the sense that a high percentabe of the
>substitutes available from g1 are being found and used. However, these
>other packages for which substitutes are available on g1 are also
>built:
>
>downloading from ftp://ftp.knackered.org/pub/psutils/psutils.tar.gz...
>downloading from http://download.osgeo.org/libtiff/tiff-4.0.9.tar.gz...
>downloading from
>https://ftpmirror.gnu.org/gnu/groff/groff-1.22.3.tar.gz...
>downloading from
>https://github.com/apple/cups/releases/download/v2.2.8/cups-2.2.8-source.tar.gz...
>downloading from
>https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs924/ghostscript-9.24.tar.xz...
>downloading from
>https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.3.tar.bz2...
>downloading from
>http://www.x.org/releases/individual/lib/libX11-1.6.6.tar.bz2...
>downloading from
>http://www.x.org/releases/individual/lib/xtrans-1.3.5.tar.bz2...
>
>Details:
>
>Using Guix from Git:
>
>Server g1: sys.scm v0.15.0-2913-g21c51ebd6
>
>VM sysi58: sysi58.scm v0.15.0-3115-g7571ec357
>
>TIA - George
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#33262: guix fails to find and use some available substitutes
2018-11-05 8:26 ` Julien Lepiller
@ 2018-11-05 17:21 ` George Clemmer
2018-11-05 18:45 ` Julien Lepiller
0 siblings, 1 reply; 5+ messages in thread
From: George Clemmer @ 2018-11-05 17:21 UTC (permalink / raw)
To: Julien Lepiller; +Cc: 33262
Julien Lepiller <julien@lepiller.eu> writes:
> I think guix' message is a bit confusing: the .drv file is always
> created by guix, it's the derivation. The derivation is built, which
> results in a new store path. It can be built locally or by using a
> substitute. What you see in your store is the derivation (.drv), not
> its result. You can open that file to find where the result will be
> stored and check if it exists on your machine.
Hi Julien,
Thank you. You are right, the .drv "out" substitute is not on my
local server. So this is not a bug. SORRY for the noise ;-)
After re-reading (guix) Derivations, I see I had a wrong impression:
that the presence of a .drv indicates a successful build. But AIUI now
it only means that at some point in the past we attempted to build the
.drv. IOW, we will also have .drv files for all failed builds.
Is that correct?
Thanks! - George
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#33262: guix fails to find and use some available substitutes
2018-11-05 17:21 ` George Clemmer
@ 2018-11-05 18:45 ` Julien Lepiller
0 siblings, 0 replies; 5+ messages in thread
From: Julien Lepiller @ 2018-11-05 18:45 UTC (permalink / raw)
To: George Clemmer; +Cc: 33262
Exactly!
Le 5 novembre 2018 18:21:53 GMT+01:00, George Clemmer <myglc2@gmail.com> a écrit :
>
>Julien Lepiller <julien@lepiller.eu> writes:
>
>> I think guix' message is a bit confusing: the .drv file is always
>> created by guix, it's the derivation. The derivation is built, which
>> results in a new store path. It can be built locally or by using a
>> substitute. What you see in your store is the derivation (.drv), not
>> its result. You can open that file to find where the result will be
>> stored and check if it exists on your machine.
>
>Hi Julien,
>
>Thank you. You are right, the .drv "out" substitute is not on my
>local server. So this is not a bug. SORRY for the noise ;-)
>
>After re-reading (guix) Derivations, I see I had a wrong impression:
>that the presence of a .drv indicates a successful build. But AIUI now
>it only means that at some point in the past we attempted to build the
>.drv. IOW, we will also have .drv files for all failed builds.
>
>Is that correct?
>
>Thanks! - George
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-11-05 18:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-05 1:09 bug#33262: guix fails to find and use some available substitutes George Clemmer
2018-11-05 1:29 ` George Clemmer
2018-11-05 8:26 ` Julien Lepiller
2018-11-05 17:21 ` George Clemmer
2018-11-05 18:45 ` Julien Lepiller
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).