unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* 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).