* successful installation, but problems updating @ 2017-11-06 8:16 Marco van Hulten 2017-11-06 9:43 ` Carlo Zancanaro 2017-11-06 10:18 ` Thomas Sigurdsen 0 siblings, 2 replies; 27+ messages in thread From: Marco van Hulten @ 2017-11-06 8:16 UTC (permalink / raw) To: help-guix [-- Attachment #1: Type: text/plain, Size: 1556 bytes --] Hello, I installed GuixSD 0.13.0 with success! But I still have a couple of issues and questions concerning updating the system and installing packages. I followed the [installation guide][1]. [1]: https://www.gnu.org/software/guix/manual/html_node/Proceeding-with-the-Installation.html 'guix pull' ends with a compilation error: > guix pull: error: build failed: build of > `/gnu/store/*-guix-latest.drv' failed After this I should execute this command. > $ guix system reconfigure > guix system: error: wrong number of arguments for action 'reconfigure' I expected this not to work properly anyway because 'guix pull' did not succeed, but this seems like a syntax error that would have come up also after a correct 'guix pull' (except, of course, if 'guix pull' would provide files that account for the right number of arguments — but I don't understand Guix well enough to make any good presumptions about it). Finally, have two more general questions (possibly related) about Guix. Firstly, it often says that I need to use '--fallback'. Is that because the binary is not available? Secondly, I noted that with, e.g., 'guix package -i kodi' software gets compiled. I understood that GNU Guix is capable of both binary and source packages. Which should I typically expect? Can I choose? I attached my 'config.scm' (sadly, the paste.lisp.org service has just been disabled). This is what I understand as the single most important configuration file of any GuixSD installation. -Marco [-- Attachment #2: config.scm --] [-- Type: text/x-scheme, Size: 2237 bytes --] ;; This is an operating system configuration template ;; for a "desktop" setup. (use-modules (gnu) (gnu system nss)) (use-service-modules desktop ssh) (use-package-modules wm ratpoison certs suckless gnome) (operating-system (host-name "watson") (timezone "Europe/Oslo") (locale "en_US.utf8") ;; Assuming /dev/sda is the target hard disk, and "my-root" ;; is the label of the target root file system. (bootloader (grub-configuration (device "/dev/sda"))) (file-systems (cons* (file-system (device "my-root") (title 'label) (mount-point "/") (type "ext4")) (file-system (device "my-home") (title 'label) (mount-point "/home") (type "ext4")) %base-file-systems)) (users (cons* (user-account (name "kodi") (comment "mediacenter") (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video")) (home-directory "/home/kodi")) (user-account (name "marco") (comment "Marco van Hulten") (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video")) (home-directory "/home/marco")) %base-user-accounts)) ;; Add a bunch of window managers; we can choose one at ;; the log-in screen with F1. (packages (cons* ratpoison i3-wm i3status dmenu ;window managers nss-certs ;for HTTPS access gvfs ;for user mounts %base-packages)) ;; Add GNOME and/or Xfce---we can choose at the log-in ;; screen with F1. Use the "desktop" services, which ;; include the X11 log-in service, networking with Wicd, ;; and more. (services (cons* (xfce-desktop-service) %desktop-services)) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss)) ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-06 8:16 successful installation, but problems updating Marco van Hulten @ 2017-11-06 9:43 ` Carlo Zancanaro 2017-11-06 20:06 ` Marco van Hulten 2017-11-06 10:18 ` Thomas Sigurdsen 1 sibling, 1 reply; 27+ messages in thread From: Carlo Zancanaro @ 2017-11-06 9:43 UTC (permalink / raw) To: Marco van Hulten; +Cc: help-guix [-- Attachment #1: Type: text/plain, Size: 1909 bytes --] Hello! On Mon, Nov 06 2017, Marco van Hulten wrote: > I installed GuixSD 0.13.0 with success! Excellent! That's great to hear! > 'guix pull' ends with a compilation error: > >> guix pull: error: build failed: build of >> `/gnu/store/*-guix-latest.drv' failed This isn't enough to tell me what's happened, unfortunately. I'm not sure what the common failure cases are for this, but hopefully someone else will know. > After this I should execute this command. > >> $ guix system reconfigure >> guix system: error: wrong number of arguments for action >> 'reconfigure' The reconfigure command requires you to pass it a configuration file (ie. config.scm). You can see the details in the manual[1]. > Finally, have two more general questions (possibly related) about > Guix. > > Firstly, it often says that I need to use '--fallback'. Is that > because the binary is not available? I'm not sure the exact circumstances for when this is necessary, but it is when there is some sort of a problem with the binary substitutes. The manual[2] describes it as "When substituting a pre-built binary fails, fall back to building packages locally." > Secondly, I noted that with, e.g., 'guix package -i kodi' software gets > compiled. I understood that GNU Guix is capable of both binary and > source packages. Which should I typically expect? Can I choose? This depends on a few factors, but most particularly how up-to-date the build farms are. I'm not sure what you should expect most of the time, but I usually expect that I'll have to build at least something during my installations. You can use the "--no-substitutes" flag for most commands (which you can read about in the manual[2]) if you'd like to build everything locally. Carlo [1]: https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html [2]: https://www.gnu.org/software/guix/manual/html_node/Common-Build-Options.html [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-06 9:43 ` Carlo Zancanaro @ 2017-11-06 20:06 ` Marco van Hulten 2017-11-07 9:20 ` Ludovic Courtès 0 siblings, 1 reply; 27+ messages in thread From: Marco van Hulten @ 2017-11-06 20:06 UTC (permalink / raw) To: help-guix [-- Attachment #1: Type: text/plain, Size: 1917 bytes --] Hello, Thank you Carl and Thomas for the clear explanation. Still one issue remains. Op 06 nov 20:43 schreef Carlo Zancanaro: > > 'guix pull' ends with a compilation error: > > > >> guix pull: error: build failed: build of > >> `/gnu/store/*-guix-latest.drv' failed > > This isn't enough to tell me what's happened, unfortunately. I'm not > sure what the common failure cases are for this, but hopefully someone > else will know. This was a bit meager description. This is the full output on the terminal: ``` root@watson ~# guix pull Starting download of /tmp/guix-file.F5p3in From https://git.savannah.gnu.org/cgit/guix.git/snapshot/master.tar.gz... ….tar.gz 2.3MiB/s 00:06 | 13.8MiB transferred unpacking '/gnu/store/5qcf02fjmi4y4chh3c07ardvjlw355gw-guix-latest.tar.gz'... substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivation will be built: /gnu/store/nd19z0mxhj81p1pc5f86ahxkzih6z2mg-guix-latest.drv updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%g'... 0.0% copying and compiling to '/gnu/store/4gs1fivs32qw3xrn5z1dq3hr9xmblv18-guix-latest' with Guile 2.2.2... loading... 26.0% of 646 filesrandom seed for tests: 1509990307 compiling... 75.2% of 646 filesbuilding of `/gnu/store/nd19z0mxhj81p1pc5f86ahxkzih6z2mg-guix-latest.drv' timed out after 3600 seconds of silence guix pull: error: build failed: build of `/gnu/store/nd19z0mxhj81p1pc5f86ahxkzih6z2mg-guix-latest.drv' failed root@watson ~# echo $? 1 ``` After some time during the compilation process, my system freezes for a long time (CapsLock doesn't light up, cannot move mouse cursor, cannot switch to vc...). After about an hour the system is responsive again. - Marco [-- Attachment #2: OpenPGP digitale handtekening --] [-- Type: application/pgp-signature, Size: 181 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-06 20:06 ` Marco van Hulten @ 2017-11-07 9:20 ` Ludovic Courtès 2017-11-07 10:58 ` Marco van Hulten 2017-11-08 1:37 ` Marco van Hulten 0 siblings, 2 replies; 27+ messages in thread From: Ludovic Courtès @ 2017-11-07 9:20 UTC (permalink / raw) To: Marco van Hulten; +Cc: help-guix Hi Marco, Marco van Hulten <marco@hulten.org> skribis: > root@watson ~# guix pull > > Starting download of /tmp/guix-file.F5p3in > From https://git.savannah.gnu.org/cgit/guix.git/snapshot/master.tar.gz... > ….tar.gz 2.3MiB/s 00:06 | 13.8MiB transferred > unpacking '/gnu/store/5qcf02fjmi4y4chh3c07ardvjlw355gw-guix-latest.tar.gz'... > substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% > substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% > The following derivation will be built: > /gnu/store/nd19z0mxhj81p1pc5f86ahxkzih6z2mg-guix-latest.drv > updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%g'... 0.0% > copying and compiling to '/gnu/store/4gs1fivs32qw3xrn5z1dq3hr9xmblv18-guix-latest' with Guile 2.2.2... > loading... 26.0% of 646 filesrandom seed for tests: 1509990307 > compiling... 75.2% of 646 filesbuilding of `/gnu/store/nd19z0mxhj81p1pc5f86ahxkzih6z2mg-guix-latest.drv' timed out after 3600 seconds of silence > guix pull: error: build failed: build of `/gnu/store/nd19z0mxhj81p1pc5f86ahxkzih6z2mg-guix-latest.drv' failed Ouch, I’ve never seen reports for this kind of failure before. It is 100% reproducible every time you run ‘guix pull’? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-07 9:20 ` Ludovic Courtès @ 2017-11-07 10:58 ` Marco van Hulten 2017-11-08 1:37 ` Marco van Hulten 1 sibling, 0 replies; 27+ messages in thread From: Marco van Hulten @ 2017-11-07 10:58 UTC (permalink / raw) To: Ludovic Courtès; +Cc: help-guix Ludovic- Op 07 nov 10:20 schreef Ludovic Courtès: > Marco van Hulten <marco@hulten.org> skribis: > > > root@watson ~# guix pull > > > > Starting download of /tmp/guix-file.F5p3in > > From https://git.savannah.gnu.org/cgit/guix.git/snapshot/master.tar.gz... > > ….tar.gz 2.3MiB/s 00:06 | 13.8MiB transferred > > unpacking '/gnu/store/5qcf02fjmi4y4chh3c07ardvjlw355gw-guix-latest.tar.gz'... > > substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% > > substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% > > The following derivation will be built: > > /gnu/store/nd19z0mxhj81p1pc5f86ahxkzih6z2mg-guix-latest.drv > > updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%g'... 0.0% > > copying and compiling to '/gnu/store/4gs1fivs32qw3xrn5z1dq3hr9xmblv18-guix-latest' with Guile 2.2.2... > > loading... 26.0% of 646 filesrandom seed for tests: 1509990307 > > compiling... 75.2% of 646 filesbuilding of `/gnu/store/nd19z0mxhj81p1pc5f86ahxkzih6z2mg-guix-latest.drv' timed out after 3600 seconds of silence > > guix pull: error: build failed: build of `/gnu/store/nd19z0mxhj81p1pc5f86ahxkzih6z2mg-guix-latest.drv' failed > > Ouch, I’ve never seen reports for this kind of failure before. > > It is 100% reproducible every time you run ‘guix pull’? It happens every time. Whether the terminal output is identical (e.g., timing out at 75.2%, but not the hash) I plan check in about half a day. -Marco ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-07 9:20 ` Ludovic Courtès 2017-11-07 10:58 ` Marco van Hulten @ 2017-11-08 1:37 ` Marco van Hulten 2017-11-09 7:45 ` Marco van Hulten 2017-11-09 13:19 ` Ludovic Courtès 1 sibling, 2 replies; 27+ messages in thread From: Marco van Hulten @ 2017-11-08 1:37 UTC (permalink / raw) To: Ludovic Courtès; +Cc: help-guix Ludovic- This is the second time I tried a `guix pull': ``` root@watson ~# time guix pull Starting download of /tmp/guix-file.x2AvJM From https://git.savannah.gnu.org/cgit/guix.git/snapshot/master.tar.gz... ….tar.gz 2.3MiB/s 00:06 | 13.8MiB transferred unpacking '/gnu/store/5sgb93jdacr36xv0xm67zr7dmlr1yyb0-guix-latest.tar.gz'... substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivations will be built: /gnu/store/s71rww59a0avvk9di4rkq3j5f9zvr62k-guix-latest.drv /gnu/store/6gxf5snkl5him1iqg6aqmpyn5ggijhx5-module-import-compiled.drv /gnu/store/fxnbl74nxjzzm44f1j25glsb3gav4k6b-module-import.drv substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% 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. 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. copying and compiling to '/gnu/store/z8zygkj1c97xskgzxhwy4ys2b0x6shwm-guix-latest' with Guile 2.2.2... loading... 26.0% of 646 filesrandom seed for tests: 1510087321 compiling... 75.2% of 646 filesGC Warning: Failed to expand heap by 8388608 bytes building of `/gnu/store/s71rww59a0avvk9di4rkq3j5f9zvr62k-guix-latest.drv' timed out after 3600 seconds of silence guix pull: error: build failed: build of `/gnu/store/s71rww59a0avvk9di4rkq3j5f9zvr62k-guix-latest.drv' failed real 142m53.606s user 0m3.098s sys 0m1.369s ``` It took over 2 hours before I had control back over the system. It is very similar to the first `git pull' (even for the transfer speeds and the percentage where `guix pull' hangs). Of course, file/directory checksums are different. Also, it now tries to build three `derivations' instead of one. There is also a warning on about an environment variable this time. - Marco ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-08 1:37 ` Marco van Hulten @ 2017-11-09 7:45 ` Marco van Hulten 2017-11-09 13:19 ` Ludovic Courtès 1 sibling, 0 replies; 27+ messages in thread From: Marco van Hulten @ 2017-11-09 7:45 UTC (permalink / raw) To: Ludovic Courtès; +Cc: help-guix Ludo'- Minor additional info below. Op 08 nov 02:37 schreef Marco van Hulten: > Set the environment > variable GUILE_WARN_DEPRECATED to "detailed" and rerun the > program to get more information. I tried with this suggestion, and actually got less information with this (no "failed to expand heap"): ``` kodi@watson ~$ GUILE_WARN_DEPRECATED="detailed" guix pull Starting download of /tmp/guix-file.BDW8Cd From https://git.savannah.gnu.org/cgit/guix.git/snapshot/master.tar.gz... ….tar.gz 3.4MiB/s 00:04 | 13.8MiB transferred unpacking '/gnu/store/kd7k7ndc31hp73liwm93vpjpx9wb47k7-guix-latest.tar.gz'... substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivation will be built: /gnu/store/15zzkryzyx984h4yz2rbzgm2rax2c1i8-guix-latest.drv substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% copying and compiling to '/gnu/store/s1gx4pamdwsqmgxqjz86c2g2pisxm14k-guix-latest' with Guile 2.2.2... loading... 26.0% of 646 filesrandom seed for tests: 1510124252 compiling... 75.2% of 646 filesbuilding of `/gnu/store/15zzkryzyx984h4yz2rbzgm2rax2c1i8-guix-latest.drv' timed out after 3600 seconds of silence guix pull: error: build failed: build of `/gnu/store/15zzkryzyx984h4yz2rbzgm2rax2c1i8-guix-latest.drv' failed ``` Do you have any tips for stressing hd, memory, cpu, to try to exclude hardware issues? I can install packages in GuixSD with success. -Marco ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-08 1:37 ` Marco van Hulten 2017-11-09 7:45 ` Marco van Hulten @ 2017-11-09 13:19 ` Ludovic Courtès 2017-11-09 19:27 ` Marco van Hulten 1 sibling, 1 reply; 27+ messages in thread From: Ludovic Courtès @ 2017-11-09 13:19 UTC (permalink / raw) To: Marco van Hulten; +Cc: help-guix Hi, Marco van Hulten <marco@hulten.org> skribis: > The following derivations will be built: > /gnu/store/s71rww59a0avvk9di4rkq3j5f9zvr62k-guix-latest.drv > /gnu/store/6gxf5snkl5him1iqg6aqmpyn5ggijhx5-module-import-compiled.drv > /gnu/store/fxnbl74nxjzzm44f1j25glsb3gav4k6b-module-import.drv > substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% > substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% > > 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. > > 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. > copying and compiling to '/gnu/store/z8zygkj1c97xskgzxhwy4ys2b0x6shwm-guix-latest' with Guile 2.2.2... > loading... 26.0% of 646 filesrandom seed for tests: 1510087321 > compiling... 75.2% of 646 filesGC Warning: Failed to expand heap by 8388608 bytes > building of `/gnu/store/s71rww59a0avvk9di4rkq3j5f9zvr62k-guix-latest.drv' timed out after 3600 seconds of silence > guix pull: error: build failed: build of `/gnu/store/s71rww59a0avvk9di4rkq3j5f9zvr62k-guix-latest.drv' failed > > real 142m53.606s > user 0m3.098s > sys 0m1.369s How many CPUs and how much RAM does this machine have? Does it help in any way to run “guix pull --cores=2”, thereby limiting CPU usage to two cores? Ludo’. ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-09 13:19 ` Ludovic Courtès @ 2017-11-09 19:27 ` Marco van Hulten 2017-11-09 20:46 ` Marco van Hulten 0 siblings, 1 reply; 27+ messages in thread From: Marco van Hulten @ 2017-11-09 19:27 UTC (permalink / raw) To: Ludovic Courtès; +Cc: help-guix Ludo'- Op 09 nov 14:19 schreef Ludovic Courtès: > How many CPUs and how much RAM does this machine have? Does it help in > any way to run “guix pull --cores=2”, thereby limiting CPU usage to two > cores? I have two processors, so I tried to run it on one, and it worked: ``` root@watson ~# time guix pull --cores=1 Starting download of /tmp/guix-file.kQQ8AM From https://git.savannah.gnu.org/cgit/guix.git/snapshot/master.tar.gz... ….tar.gz 2.8MiB/s 00:05 | 13.8MiB transferred unpacking '/gnu/store/v1zs6bfaam79wp9pf1ja9k8ys4f3dm2s-guix-latest.tar.gz'... substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivation will be built: /gnu/store/5admrckcwdqgqix1d7hfj23fczk2k7ss-guix-latest.drv substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% copying and compiling to '/gnu/store/pmk3b4sqqnizkhmrxx7cdyj4as0ym6r4-guix-latest' with Guile 2.2.2... loading... 26.1% of 647 filesrandom seed for tests: 1510251772 compiling... 100.0% of 647 files 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. updated GNU Guix successfully deployed under `/root/.config/guix/latest' real 37m0.478s user 0m2.963s sys 0m0.508s ``` Right now I'm updating packages, and things are looking up. Do you have any idea what went wrong when using both cores? I am conflating cores and processors right now. I think these are equal for this system, but I'm not sure. I have an Intel Core2 Duo. /proc/cpuinfo shows two processes. Furthermore, I presume that `--cores N` actually means that guix spawns N processes. -Marco ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-09 19:27 ` Marco van Hulten @ 2017-11-09 20:46 ` Marco van Hulten 2017-11-09 20:53 ` Mathieu Othacehe 0 siblings, 1 reply; 27+ messages in thread From: Marco van Hulten @ 2017-11-09 20:46 UTC (permalink / raw) To: help-guix Hello, Op 09 nov 20:27 schreef Marco van Hulten: > Right now I'm updating packages, and things are looking up. Well... concerning the root user. As the manual states that one needs to do a `guix pull' for any user for whom you want to upgrade the packages, I did that here, but it failed: ``` kodi@watson ~$ export GUILE_WARN_DEPRECATED="detailed" kodi@watson ~$ time guix pull --cores=1 Starting download of /tmp/guix-file.vAOlZl From https://git.savannah.gnu.org/cgit/guix.git/snapshot/master.tar.gz... ….tar.gz 1.8MiB/s 00:07 | 13.8MiB transferred unpacking '/gnu/store/3kh26avmdfz01gmfdd88692bv0cm5ic5-guix-latest.tar.gz'... substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivation will be built: /gnu/store/499sa14r2f940asrwrflkwgj85iih67m-guix-latest.drv copying and compiling to '/gnu/store/hqzlhmjqyip7qys36fjligi7p4zavhhp-guix-latest' with Guile 2.2.2... loading... 20.4% of 647 filesBacktrace: In ice-9/boot-9.scm: 2879:24 19 (_) 230:29 18 (map1 _) 230:29 17 (map1 _) 230:29 16 (map1 _) 230:29 15 (map1 _) 230:29 14 (map1 _) 230:29 13 (map1 _) 230:29 12 (map1 _) 230:17 11 (map1 (((gnu packages linux)) ((gnu packages ncurses)))) 2792:17 10 (resolve-interface (gnu packages linux) #:select _ # _ # ?) 2718:10 9 (_ (gnu packages linux) _ _ #:ensure _) 2986:16 8 (try-module-autoload _ _) 2316:4 7 (save-module-excursion _) 3006:22 6 (_) In unknown file: 5 (primitive-load-path "gnu/packages/linux" #<procedure 3?>) In ice-9/eval.scm: 619:8 4 (_ #f) 626:19 3 (_ #<directory (gnu packages linux) 6cc5780>) 173:55 2 (_ #<directory (gnu packages linux) 6cc5780>) 223:20 1 (proc #<directory (gnu packages linux) 6cc5780>) In unknown file: 0 (%resolve-variable (7 . %intel-compatible-systems) #<di?>) ERROR: In procedure %resolve-variable: ERROR: Unbound variable: %intel-compatible-systems 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. builder for `/gnu/store/499sa14r2f940asrwrflkwgj85iih67m-guix-latest.drv' failed with exit code 1 guix pull: error: build failed: build of `/gnu/store/499sa14r2f940asrwrflkwgj85iih67m-guix-latest.drv' failed real 1m49.870s user 0m2.869s sys 0m0.434s ``` The message here, together with the fact that --cores=1 worked (see previous message in thread), suggests that /proc/cpuinfo may be useful: https://paste.debian.net/994931/ -Marco ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-09 20:46 ` Marco van Hulten @ 2017-11-09 20:53 ` Mathieu Othacehe 2017-11-10 7:26 ` Marco van Hulten 0 siblings, 1 reply; 27+ messages in thread From: Mathieu Othacehe @ 2017-11-09 20:53 UTC (permalink / raw) To: Marco van Hulten; +Cc: help-guix > ERROR: In procedure %resolve-variable: > ERROR: Unbound variable: %intel-compatible-systems My bad, this has been fixed by Efraim in d8f075c3a3daba93ff4420bbe0b1833712aaa0e9. You may want to guix pull again ! Sorry, Mathieu ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-09 20:53 ` Mathieu Othacehe @ 2017-11-10 7:26 ` Marco van Hulten 2017-11-10 16:35 ` Leo Famulari 0 siblings, 1 reply; 27+ messages in thread From: Marco van Hulten @ 2017-11-10 7:26 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: help-guix Op 09 nov 21:53 schreef Mathieu Othacehe: > My bad, this has been fixed by Efraim in > d8f075c3a3daba93ff4420bbe0b1833712aaa0e9. > > You may want to guix pull again ! This work again — thanks for the quick response. However, now I get the freeze again at around 75 %: ``` kodi@watson ~$ time guix pull --cores=1 Starting download of /tmp/guix-file.MgDQxo From https://git.savannah.gnu.org/cgit/guix.git/snapshot/master.tar.gz... ….tar.gz 3.2MiB/s 00:04 | 13.8MiB transferred unpacking '/gnu/store/r3740b6bil3vcign3wj2izw9hb3c4gpg-guix-latest.tar.gz'... substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivation will be built: /gnu/store/gk5chb0dwpsq3na7b4gn1hd7h0h2b63h-guix-latest.drv substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% copying and compiling to '/gnu/store/b4rs2nl3q1hb3ckbgzg98s23q44bcys4-guix-latest' with Guile 2.2.2... loading... 26.1% of 647 filesrandom seed for tests: 1510261509 compiling... 75.4% of 647 filesbuilding of `/gnu/store/gk5chb0dwpsq3na7b4gn1hd7h0h2b63h-guix-latest.drv' timed out after 3600 seconds of silence kguix pull: error: build failed: build of `/gnu/store/gk5chb0dwpsq3na7b4gn1hd7h0h2b63h-guix-latest.drv' failed real 609m30.245s user 0m3.125s sys 0m0.875s ``` This command did work last time as root. It only worked once. Special things to note this time: - it hangs at 75.4 % instead of 75.2 %; - it took over 10 h to give me back control, whereas this used to be a bit over 2 h in previous tries; - using only one core did not help this time. What is Guix doing between 75.2 and 75.4 %? -Marco ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-10 7:26 ` Marco van Hulten @ 2017-11-10 16:35 ` Leo Famulari 2017-11-11 22:23 ` Marco van Hulten 0 siblings, 1 reply; 27+ messages in thread From: Leo Famulari @ 2017-11-10 16:35 UTC (permalink / raw) To: Marco van Hulten; +Cc: help-guix [-- Attachment #1: Type: text/plain, Size: 1448 bytes --] On Fri, Nov 10, 2017 at 08:26:12AM +0100, Marco van Hulten wrote: > kodi@watson ~$ time guix pull --cores=1 [...] > compiling... 75.4% of 647 filesbuilding of `/gnu/store/gk5chb0dwpsq3na7b4gn1hd7h0h2b63h-guix-latest.drv' timed out after 3600 seconds of silence [...] > real 609m30.245s > user 0m3.125s > sys 0m0.875s This is terrible, but you can work around it by passing a large value to the --max-silent-time "common build option": --max-silent-time=seconds When the build or substitution process remains silent for more than seconds, terminate it and report a build failure. https://www.gnu.org/software/guix/manual/html_node/Common-Build-Options.html Out of curiosity, what kind of machine are you using? A full hour with no output at all indicates that something is happening very slowly! Is it swapping? > - it took over 10 h to give me back control, whereas this used to be > a bit over 2 h in previous tries; Do you mean that the computer becomes unresponsive? > What is Guix doing between 75.2 and 75.4 %? I don't know exactly, but during `guix pull` Guix is built from source with the Guile compiler. There are some bugs in the current version of the Guile compiler that cause it to require way more memory than expected. This is terrible on memory-constrained systems because it forces the use of swap, which is typically super slow. Hopefully we can deploy a fix soon. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-10 16:35 ` Leo Famulari @ 2017-11-11 22:23 ` Marco van Hulten 2017-11-12 1:26 ` Leo Famulari 0 siblings, 1 reply; 27+ messages in thread From: Marco van Hulten @ 2017-11-11 22:23 UTC (permalink / raw) To: Leo Famulari; +Cc: help-guix [-- Attachment #1: Type: text/plain, Size: 2188 bytes --] Leo- Op 10 nov 11:35 schreef Leo Famulari: > On Fri, Nov 10, 2017 at 08:26:12AM +0100, Marco van Hulten wrote: > > kodi@watson ~$ time guix pull --cores=1 > > [...] > > > compiling... 75.4% of 647 filesbuilding of `/gnu/store/gk5chb0dwpsq3na7b4gn1hd7h0h2b63h-guix-latest.drv' timed out after 3600 seconds of silence > > [...] > > > real 609m30.245s > > user 0m3.125s > > sys 0m0.875s > > This is terrible, but you can work around it by passing a large value to > the --max-silent-time "common build option": [...] Hmm, but the time-out is now after 1 hour of silence, and the whole process takes over 10 hours before crashing. This option may be useful if I set a very short time, though it remains to be seen if this ends guix quickly. I will play around with it. Right now a `guix pull' results in a `dispatch-exception' in procedure `struct_vtable: Wrong type argument in position 1 (expecting struct): #<pointer 0x0>'. It seems that GuixSD (or components) is strongly in flux right now, so I will try again later and do a proper bug report if problems persist. > Out of curiosity, what kind of machine are you using? A full hour with > no output at all indicates that something is happening very slowly! Is > it swapping? I'd like to test if it is swapping. I have 2 GiB of RAM in a 2-core machine (Intel Core 2 Duo). I did notice that swap was not enabled yet on my system, and that (during last `guix pull') around 95% of RAM was used. > > - it took over 10 h to give me back control, whereas this used to be > > a bit over 2 h in previous tries; > > Do you mean that the computer becomes unresponsive? Yes. > > What is Guix doing between 75.2 and 75.4 %? > > I don't know exactly, but during `guix pull` Guix is built from source > with the Guile compiler. > > There are some bugs in the current version of the Guile compiler that > cause it to require way more memory than expected. This is terrible on > memory-constrained systems because it forces the use of swap, which is > typically super slow. Hopefully we can deploy a fix soon. Is 2 GiB considered "memory-constrained"? -Marco [-- Attachment #2: OpenPGP digitale handtekening --] [-- Type: application/pgp-signature, Size: 195 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-11 22:23 ` Marco van Hulten @ 2017-11-12 1:26 ` Leo Famulari 0 siblings, 0 replies; 27+ messages in thread From: Leo Famulari @ 2017-11-12 1:26 UTC (permalink / raw) To: Marco van Hulten; +Cc: help-guix [-- Attachment #1: Type: text/plain, Size: 1808 bytes --] On Sat, Nov 11, 2017 at 11:23:00PM +0100, Marco van Hulten wrote: > > This is terrible, but you can work around it by passing a large value to > > the --max-silent-time "common build option": [...] > > Hmm, but the time-out is now after 1 hour of silence, and the whole > process takes over 10 hours before crashing. This option may be useful > if I set a very short time, though it remains to be seen if this ends > guix quickly. I will play around with it. You can also increase the timeout with the --timeout option. However, if it crashes no matter how long you let it run, that's a different problem. > Right now a `guix pull' results in a `dispatch-exception' in procedure > `struct_vtable: Wrong type argument in position 1 (expecting struct): > #<pointer 0x0>'. It seems that GuixSD (or components) is strongly in > flux right now, so I will try again later and do a proper bug report if > problems persist. This is definitely not supposed to happen. Hopefully it's already been fixed but otherwise a bug report is welcome! > I'd like to test if it is swapping. I have 2 GiB of RAM in a 2-core > machine (Intel Core 2 Duo). I did notice that swap was not enabled yet > on my system, and that (during last `guix pull') around 95% of RAM was > used. > > > > - it took over 10 h to give me back control, whereas this used to be > > > a bit over 2 h in previous tries; > > > > Do you mean that the computer becomes unresponsive? > > Yes. I have a Core 2 Duo system with 3 GiB RAM and `guix pull` takes less than an hour and doesn't swap. > Is 2 GiB considered "memory-constrained"? I'd argue that it should not be, but due to the Guile bug it is. It may not be enough to run `guix pull` — I don't know exactly how much memory is required. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-06 8:16 successful installation, but problems updating Marco van Hulten 2017-11-06 9:43 ` Carlo Zancanaro @ 2017-11-06 10:18 ` Thomas Sigurdsen 2017-11-10 5:58 ` Chris Marusich 1 sibling, 1 reply; 27+ messages in thread From: Thomas Sigurdsen @ 2017-11-06 10:18 UTC (permalink / raw) To: Marco van Hulten; +Cc: help-guix@gnu.org Hello, sadly I can't help with the guix pull error, don't know a lot about it unfortunately. I do have some comments on the other questions. On Mon, 06 Nov 2017 09:16:56 +0100 Marco van Hulten <marco@hulten.org> wrote: > After this I should execute this command. > > > $ guix system reconfigure > > guix system: error: wrong number of arguments for action 'reconfigure' > reconfigure (and some (maybe all?) of the other system commands) require a config file. So 'guix system reconfigure /path/to/config.scm' should work. > > I expected this not to work properly anyway because 'guix pull' did not > succeed, but this seems like a syntax error that would have come up > also after a correct 'guix pull' (except, of course, if 'guix pull' > would provide files that account for the right number of arguments — > but I don't understand Guix well enough to make any good presumptions > about it). > > > Finally, have two more general questions (possibly related) about > Guix. > > Firstly, it often says that I need to use '--fallback'. Is that > because the binary is not available? > '--fallback' means that guix will fall back to compiling from source if it can't download binaries (also called substitutes). By default guix tries to download substitutes from the build farm (hydra). > > Secondly, I noted that with, e.g., 'guix package -i kodi' software gets > compiled. I understood that GNU Guix is capable of both binary and > source packages. Which should I typically expect? Can I choose? > It seems to me I usually get core and common packages as substitutes (binaries). There is the ‘--no-substitutes’ command line flag to disable substitutes and always build from source. I can't see a flag for disabling source builds. You'll find this information in the guix info pages, specifically under "common build options" and "invoking guix system". > -Marco Thomas ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-06 10:18 ` Thomas Sigurdsen @ 2017-11-10 5:58 ` Chris Marusich 2017-11-10 7:23 ` Carlo Zancanaro 2017-11-10 16:28 ` Leo Famulari 0 siblings, 2 replies; 27+ messages in thread From: Chris Marusich @ 2017-11-10 5:58 UTC (permalink / raw) To: Thomas Sigurdsen; +Cc: help-guix@gnu.org [-- Attachment #1: Type: text/plain, Size: 1157 bytes --] Thomas Sigurdsen <thomas.sigurdsen@gmail.com> writes: >> Firstly, it often says that I need to use '--fallback'. Is that >> because the binary is not available? >> > > '--fallback' means that guix will fall back to compiling from source if > it can't download binaries (also called substitutes). By default guix > tries to download substitutes from the build farm (hydra). > >> >> Secondly, I noted that with, e.g., 'guix package -i kodi' software gets >> compiled. I understood that GNU Guix is capable of both binary and >> source packages. Which should I typically expect? Can I choose? >> > > It seems to me I usually get core and common packages as substitutes > (binaries). There is the ‘--no-substitutes’ command line flag to disable > substitutes and always build from source. I can't see a flag for > disabling source builds. > > You'll find this information in the guix info pages, specifically under > "common build options" and "invoking guix system". Anecdotally, I swear I've seen guix build some things from source even when I did not specify --fallback. Has anybody else seen that occur? -- Chris [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-10 5:58 ` Chris Marusich @ 2017-11-10 7:23 ` Carlo Zancanaro 2017-11-10 16:28 ` Leo Famulari 1 sibling, 0 replies; 27+ messages in thread From: Carlo Zancanaro @ 2017-11-10 7:23 UTC (permalink / raw) To: Chris Marusich; +Cc: help-guix@gnu.org [-- Attachment #1: Type: text/plain, Size: 573 bytes --] On Fri, Nov 10 2017, Chris Marusich wrote: > Anecdotally, I swear I've seen guix build some things from source even > when I did not specify --fallback. Has anybody else seen that occur? Yeah, I've definitely seen that. My assumption was that this is what's meant to happen when substitutes aren't available. So if I write a custom package and install it (with "guix package -f") it will build it locally, even without --fallback. I assume that --fallback builds the package if the substitute exists, but fails to download for some reason (network error, etc.). Carlo [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-10 5:58 ` Chris Marusich 2017-11-10 7:23 ` Carlo Zancanaro @ 2017-11-10 16:28 ` Leo Famulari 2017-11-10 23:30 ` Chris Marusich 1 sibling, 1 reply; 27+ messages in thread From: Leo Famulari @ 2017-11-10 16:28 UTC (permalink / raw) To: Chris Marusich; +Cc: help-guix@gnu.org [-- Attachment #1: Type: text/plain, Size: 2509 bytes --] > Thomas Sigurdsen <thomas.sigurdsen@gmail.com> writes: > > >> Secondly, I noted that with, e.g., 'guix package -i kodi' software gets > >> compiled. I understood that GNU Guix is capable of both binary and > >> source packages. Which should I typically expect? Can I choose? Guix is a build-from-source system that can transparently download pre-compiled binary "substitutes" when they are available, and when this substitution method has been authorized by the user. On GuixSD, it's authorized by default. Here's the documentation of substitution: https://www.gnu.org/software/guix/manual/guix.html#Substitutes If your Guix is relatively up to date [0], you've authorized a substitute server, and you can connect to the European internet, then most things will be substituted. But usually there will be a few things to build from source anyways. You can choose to never use substitutes by de-authorizing all substitute signing keys [1] or by passing --no-substitutes to the guix-daemon or any of the commands that build things [2]. Since Guix is ultimately a build-from-source system, there is currently no way to disable building from source. [...] On Thu, Nov 09, 2017 at 09:58:30PM -0800, Chris Marusich wrote: > Anecdotally, I swear I've seen guix build some things from source even > when I did not specify --fallback. Has anybody else seen that occur? That's expected. If substitutes are enabled, when running a command that builds things, Guix asks the substitute servers what can be substituted. If some thing is not available as a substitute, Guix will build it. However, if a substitute is reported to be available, but then the substitution fails for any reason, Guix will stop. '--fallback' is relevant in this case, and is meant to work around flaky substitute servers, network connections, etc. The documentation says: "When substituting a pre-built binary fails, fall back to building packages locally." [2] Substition is considered to fail when Guix is expecting a substitute but the server returns 404, 504, or some other unexpected problem occurs. It is not considered to fail if the server initially reports that no substitute is available. [0] Not more than a few months behind, I'd guess. [1] https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-archive.html [2] --no-substitutes and --fallback are "common build options": https://www.gnu.org/software/guix/manual/html_node/Common-Build-Options.html [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-10 16:28 ` Leo Famulari @ 2017-11-10 23:30 ` Chris Marusich 2017-11-11 15:29 ` myglc2 0 siblings, 1 reply; 27+ messages in thread From: Chris Marusich @ 2017-11-10 23:30 UTC (permalink / raw) To: Leo Famulari; +Cc: help-guix@gnu.org [-- Attachment #1.1: Type: text/plain, Size: 761 bytes --] Hi Leo, Leo Famulari <leo@famulari.name> writes: > Substition is considered to fail when Guix is expecting a substitute but > the server returns 404, 504, or some other unexpected problem occurs. It > is not considered to fail if the server initially reports that no > substitute is available. Thank you for the clarification. This is what I did not understand. I read the manual and got the impression that when --fallback has not been given, if a given substitute cannot be found (regardless of whether or not a substitute server claimed to provide one), then Guix will not build it. I see now that my understanding was mistaken. I've attached a patch which tries to clarify this in the manual. What do you think of it? -- Chris [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1.2: 0001-doc-Clarify-the-fallback-option.patch --] [-- Type: text/x-patch, Size: 1336 bytes --] From ce8c53bffa2f79f680f9b27bcb494a4fadb4038c Mon Sep 17 00:00:00 2001 From: Chris Marusich <cmmarusich@gmail.com> Date: Fri, 10 Nov 2017 15:19:16 -0800 Subject: [PATCH] doc: Clarify the --fallback option. * doc/guix.texi (Common Build Options): Describe --fallback in more detail. In particular, call out the fact that local builds can still happen even when --fallback is omitted. --- doc/guix.texi | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index b7f4f88f9..40705c4b8 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5159,7 +5159,13 @@ Do not build the derivations. @item --fallback When substituting a pre-built binary fails, fall back to building -packages locally. +locally. This affects behavior only when substitutes are enabled and +Guix is building a derivation for which a substitute is known. When +@code{--fallback} is omitted, the build will fail if substitution fails. +However, when @code{--fallback} is given, Guix will try to build the +derivation locally if substitution fails. When substitutes are not +enabled or Guix is building a derivation for which a substitute is not +known, a local build will always be performed. @item --substitute-urls=@var{urls} @anchor{client-substitute-urls} -- 2.14.2 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply related [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-10 23:30 ` Chris Marusich @ 2017-11-11 15:29 ` myglc2 2017-11-11 17:05 ` Chris Marusich 2017-11-12 1:29 ` Leo Famulari 0 siblings, 2 replies; 27+ messages in thread From: myglc2 @ 2017-11-11 15:29 UTC (permalink / raw) To: Chris Marusich; +Cc: help-guix@gnu.org On 11/10/2017 at 15:30 Chris Marusich writes: > Hi Leo, > > Leo Famulari <leo@famulari.name> writes: > >> Substition is considered to fail when Guix is expecting a substitute but >> the server returns 404, 504, or some other unexpected problem occurs. It >> is not considered to fail if the server initially reports that no >> substitute is available. Hi Leo, this is a wonderful clarification of behavior that has confused me for 1.5 years! > > Thank you for the clarification. This is what I did not understand. I > read the manual and got the impression that when --fallback has not been > given, if a given substitute cannot be found (regardless of whether or > not a substitute server claimed to provide one), then Guix will not > build it. I see now that my understanding was mistaken. I had this mistaken impression too. > > I've attached a patch which tries to clarify this in the manual. What > do you think of it? Hey Chris, How about saying what Leo said right up front in the substitutes section. This allows the --fallback addition to be more brief. Rough draft below. WDYT? - George 1 file changed, 9 insertions(+), 2 deletions(-) doc/guix.texi | 11 +++++++++-- modified doc/guix.texi @@ -2120,6 +2120,13 @@ server. We call these pre-built items @dfn{substitutes}---they are substitutes for local build results. In many cases, downloading a substitute is much faster than building things locally. +When substitutes are enabled (the default) and a substitute is not +available the build will take place locally. If a substitute is +available but substitution fails, e.g., the substitute server returns +404, 504, times out, or some other unexpected problem occurs, guix stops +and reports an error unless --fallback or --keep-going options are +specified. + Substitutes can be anything resulting from a derivation build (@pxref{Derivations}). Of course, in the common case, they are pre-built package binaries, but source tarballs, for instance, which @@ -5192,8 +5199,8 @@ derivations has failed. Do not build the derivations. @item --fallback -When substituting a pre-built binary fails, fall back to building -packages locally. +Attempt to build locally instead of issuing an error when substitutes +are enabled and the substitution of a pre-built binary fails. @item --substitute-urls=@var{urls} @anchor{client-substitute-urls} ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-11 15:29 ` myglc2 @ 2017-11-11 17:05 ` Chris Marusich 2017-11-11 18:06 ` myglc2 2017-11-12 1:29 ` Leo Famulari 1 sibling, 1 reply; 27+ messages in thread From: Chris Marusich @ 2017-11-11 17:05 UTC (permalink / raw) To: myglc2; +Cc: help-guix@gnu.org [-- Attachment #1: Type: text/plain, Size: 2833 bytes --] myglc2 <myglc2@gmail.com> writes: > On 11/10/2017 at 15:30 Chris Marusich writes: > >> Hi Leo, >> >> Leo Famulari <leo@famulari.name> writes: >> >>> Substition is considered to fail when Guix is expecting a substitute but >>> the server returns 404, 504, or some other unexpected problem occurs. It >>> is not considered to fail if the server initially reports that no >>> substitute is available. > > Hi Leo, this is a wonderful clarification of behavior that has confused > me for 1.5 years! >> >> Thank you for the clarification. This is what I did not understand. I >> read the manual and got the impression that when --fallback has not been >> given, if a given substitute cannot be found (regardless of whether or >> not a substitute server claimed to provide one), then Guix will not >> build it. I see now that my understanding was mistaken. > > I had this mistaken impression too. >> >> I've attached a patch which tries to clarify this in the manual. What >> do you think of it? > > Hey Chris, > > How about saying what Leo said right up front in the substitutes > section. This allows the --fallback addition to be more brief. > > Rough draft below. > > WDYT? - George > > 1 file changed, 9 insertions(+), 2 deletions(-) > doc/guix.texi | 11 +++++++++-- > > modified doc/guix.texi > @@ -2120,6 +2120,13 @@ server. We call these pre-built items @dfn{substitutes}---they are > substitutes for local build results. In many cases, downloading a > substitute is much faster than building things locally. > > +When substitutes are enabled (the default) and a substitute is not > +available the build will take place locally. If a substitute is > +available but substitution fails, e.g., the substitute server returns > +404, 504, times out, or some other unexpected problem occurs, guix stops > +and reports an error unless --fallback or --keep-going options are > +specified. > + > Substitutes can be anything resulting from a derivation build > (@pxref{Derivations}). Of course, in the common case, they are > pre-built package binaries, but source tarballs, for instance, which > @@ -5192,8 +5199,8 @@ derivations has failed. > Do not build the derivations. > > @item --fallback > -When substituting a pre-built binary fails, fall back to building > -packages locally. > +Attempt to build locally instead of issuing an error when substitutes > +are enabled and the substitution of a pre-built binary fails. > > @item --substitute-urls=@var{urls} > @anchor{client-substitute-urls} I think I like the way you wrote it better. I'm fine with that. I was hoping not to add to the already-voluminous paragraphs about Substitutes at the top of section 3.3, but honestly as long as this info is in the manual, I'm happy. -- Chris [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-11 17:05 ` Chris Marusich @ 2017-11-11 18:06 ` myglc2 0 siblings, 0 replies; 27+ messages in thread From: myglc2 @ 2017-11-11 18:06 UTC (permalink / raw) To: Chris Marusich; +Cc: help-guix@gnu.org On 11/11/2017 at 09:05 Chris Marusich writes: > myglc2 <myglc2@gmail.com> writes: > >> On 11/10/2017 at 15:30 Chris Marusich writes: >> >>> Hi Leo, >>> >>> Leo Famulari <leo@famulari.name> writes: >>> >>>> Substition is considered to fail when Guix is expecting a substitute but >>>> the server returns 404, 504, or some other unexpected problem occurs. It >>>> is not considered to fail if the server initially reports that no >>>> substitute is available. >> >> Hi Leo, this is a wonderful clarification of behavior that has confused >> me for 1.5 years! >>> >>> Thank you for the clarification. This is what I did not understand. I >>> read the manual and got the impression that when --fallback has not been >>> given, if a given substitute cannot be found (regardless of whether or >>> not a substitute server claimed to provide one), then Guix will not >>> build it. I see now that my understanding was mistaken. >> >> I had this mistaken impression too. >>> >>> I've attached a patch which tries to clarify this in the manual. What >>> do you think of it? >> >> Hey Chris, >> >> How about saying what Leo said right up front in the substitutes >> section. This allows the --fallback addition to be more brief. >> >> Rough draft below. >> >> WDYT? - George >> >> 1 file changed, 9 insertions(+), 2 deletions(-) >> doc/guix.texi | 11 +++++++++-- >> >> modified doc/guix.texi >> @@ -2120,6 +2120,13 @@ server. We call these pre-built items @dfn{substitutes}---they are >> substitutes for local build results. In many cases, downloading a >> substitute is much faster than building things locally. >> >> +When substitutes are enabled (the default) and a substitute is not >> +available the build will take place locally. If a substitute is >> +available but substitution fails, e.g., the substitute server returns >> +404, 504, times out, or some other unexpected problem occurs, guix stops >> +and reports an error unless --fallback or --keep-going options are >> +specified. >> + >> Substitutes can be anything resulting from a derivation build >> (@pxref{Derivations}). Of course, in the common case, they are >> pre-built package binaries, but source tarballs, for instance, which >> @@ -5192,8 +5199,8 @@ derivations has failed. >> Do not build the derivations. >> >> @item --fallback >> -When substituting a pre-built binary fails, fall back to building >> -packages locally. >> +Attempt to build locally instead of issuing an error when substitutes >> +are enabled and the substitution of a pre-built binary fails. >> >> @item --substitute-urls=@var{urls} >> @anchor{client-substitute-urls} > > I think I like the way you wrote it better. I'm fine with that. I was > hoping not to add to the already-voluminous paragraphs about Substitutes > at the top of section 3.3, but honestly as long as this info is in the > manual, I'm happy. I agree w/you Substitutes is overwhelming ;-) Meanwhile, so will you submit the patch, or do you want me to? TIA - George ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-11 15:29 ` myglc2 2017-11-11 17:05 ` Chris Marusich @ 2017-11-12 1:29 ` Leo Famulari 2017-11-12 3:36 ` myglc2 1 sibling, 1 reply; 27+ messages in thread From: Leo Famulari @ 2017-11-12 1:29 UTC (permalink / raw) To: myglc2; +Cc: help-guix@gnu.org [-- Attachment #1: Type: text/plain, Size: 1186 bytes --] On Sat, Nov 11, 2017 at 10:29:30AM -0500, myglc2 wrote: > On 11/10/2017 at 15:30 Chris Marusich writes: > > Thank you for the clarification. This is what I did not understand. I > > read the manual and got the impression that when --fallback has not been > > given, if a given substitute cannot be found (regardless of whether or > > not a substitute server claimed to provide one), then Guix will not > > build it. I see now that my understanding was mistaken. > > I had this mistaken impression too. It's important to remember that Guix is a build-from-source system. The use of pre-compiled binaries is an optimization made possible by the functional package model. > +When substitutes are enabled (the default) and a substitute is not > +available the build will take place locally. If a substitute is > +available but substitution fails, e.g., the substitute server returns > +404, 504, times out, or some other unexpected problem occurs, guix stops > +and reports an error unless --fallback or --keep-going options are > +specified. To clarify, the default status of substitutes is different for Guix (default disabled) and GuixSD (default enabled). [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-12 1:29 ` Leo Famulari @ 2017-11-12 3:36 ` myglc2 2017-11-12 4:45 ` Leo Famulari 0 siblings, 1 reply; 27+ messages in thread From: myglc2 @ 2017-11-12 3:36 UTC (permalink / raw) To: Leo Famulari; +Cc: help-guix@gnu.org On 11/11/2017 at 20:29 Leo Famulari writes: > On Sat, Nov 11, 2017 at 10:29:30AM -0500, myglc2 wrote: >> On 11/10/2017 at 15:30 Chris Marusich writes: >> > Thank you for the clarification. This is what I did not understand. I >> > read the manual and got the impression that when --fallback has not been >> > given, if a given substitute cannot be found (regardless of whether or >> > not a substitute server claimed to provide one), then Guix will not >> > build it. I see now that my understanding was mistaken. >> >> I had this mistaken impression too. > > It's important to remember that Guix is a build-from-source system. The > use of pre-compiled binaries is an optimization made possible by the > functional package model. Yes, but ... the average bear using GuixSD, having internalized Guix' assurances that substitutes are reliably the same as what they could build-from-source locally, naturally assumes that substitutes will be used. Unfortunately the current "hot rolling" of updates into origin/master means that hydra has no way to get reliably "100% ahead" of users who update frequently. Further hydra does not keep a "deep set" of previous builds, so a user may well find themselves building old stuff. This treats our users to a baffling, herky-jerky experience, with local builds seeming to occur at random. With improvements to the way changes are rolled in and to hydra, et al., the "substitution fraction" that users experiences should increase, but will most likely never reach 100% and will remain variable. So a user coming from something like debian encounters a different user experience that may well be disconcerting. This makes it important to find a way of explaining substitutes, what is happening, and what to expect, so that our users will feel be confident that everything is OK. Personally I prefer herky-jerky + "total source artistic control" + reliable roll-back to speedy binary-only update + unknown provenance + no roll back. In other words, "I drank the kool aid". I also have a couple speedy servers so the GuixSD builds don't interrupt my work flow. But I feel for the noobs on IRC whose machines have been kidnapped by GuixSD for huge, unpredictable, chunks of time. >> +When substitutes are enabled (the default) and a substitute is not >> +available the build will take place locally. If a substitute is >> +available but substitution fails, e.g., the substitute server returns >> +404, 504, times out, or some other unexpected problem occurs, guix stops >> +and reports an error unless --fallback or --keep-going options are >> +specified. > > To clarify, the default status of substitutes is different for Guix > (default disabled) and GuixSD (default enabled). Oh, WOW! Does the doc say that? And, why is it different? ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-12 3:36 ` myglc2 @ 2017-11-12 4:45 ` Leo Famulari 2017-11-12 11:10 ` Chris Marusich 0 siblings, 1 reply; 27+ messages in thread From: Leo Famulari @ 2017-11-12 4:45 UTC (permalink / raw) To: myglc2; +Cc: help-guix@gnu.org [-- Attachment #1: Type: text/plain, Size: 3077 bytes --] On Sat, Nov 11, 2017 at 10:36:26PM -0500, myglc2 wrote: > Yes, but ... the average bear using GuixSD, having internalized Guix' > assurances that substitutes are reliably the same as what they could > build-from-source locally, naturally assumes that substitutes will be > used. > > Unfortunately the current "hot rolling" of updates into origin/master > means that hydra has no way to get reliably "100% ahead" of users who > update frequently. Further hydra does not keep a "deep set" of previous > builds, so a user may well find themselves building old stuff. This > treats our users to a baffling, herky-jerky experience, with local > builds seeming to occur at random. > > With improvements to the way changes are rolled in and to hydra, et al., > the "substitution fraction" that users experiences should increase, but > will most likely never reach 100% and will remain variable. So a user > coming from something like debian encounters a different user experience > that may well be disconcerting. This makes it important to find a way of > explaining substitutes, what is happening, and what to expect, so that > our users will feel be confident that everything is OK. > > Personally I prefer herky-jerky + "total source artistic control" + > reliable roll-back to speedy binary-only update + unknown provenance + > no roll back. In other words, "I drank the kool aid". I also have a > couple speedy servers so the GuixSD builds don't interrupt my work flow. > > But I feel for the noobs on IRC whose machines have been kidnapped by > GuixSD for huge, unpredictable, chunks of time. All good points! Maintaining the build farm is one of really hard parts of developing Guix, from what I've seen. I'm hopeful that we will improve it in the next year. > >> +When substitutes are enabled (the default) and a substitute is not > >> +available the build will take place locally. If a substitute is > >> +available but substitution fails, e.g., the substitute server returns > >> +404, 504, times out, or some other unexpected problem occurs, guix stops > >> +and reports an error unless --fallback or --keep-going options are > >> +specified. > > > > To clarify, the default status of substitutes is different for Guix > > (default disabled) and GuixSD (default enabled). > > Oh, WOW! Does the doc say that? Yes, the installation instructions for Guix mention authorizing the substitute signing key in step 7 [0]. So, I think it's clear that they are not enabled otherwise. > And, why is it different? I don't know if there is a design choice here, but the steps required to authorize substitutes for Guix on another distro require root. So, we can't make it "just work" without the user elevating their privileges. It's not the only part of our installation guide that requires root, however. On GuixSD, we can control the entire system during installation, so we enable substitutes by default. [0] https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html#Binary-Installation [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: successful installation, but problems updating 2017-11-12 4:45 ` Leo Famulari @ 2017-11-12 11:10 ` Chris Marusich 0 siblings, 0 replies; 27+ messages in thread From: Chris Marusich @ 2017-11-12 11:10 UTC (permalink / raw) To: Leo Famulari; +Cc: myglc2, help-guix@gnu.org [-- Attachment #1: Type: text/plain, Size: 743 bytes --] Hi Leo and George, I've taken a stab at improving the "Substitutes" section. Please let me know if you have any concerns by replying to the patch email submission: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29271 I think the existence of this email thread proves that the question of "Are substitutes enabled by default?" does not have an obvious answer. I also think that the existence of this email proves that the behavior of the --fallback command is not obvious, so it requires a very careful explanation in the manual to eliminate any risk of misinterpretation. Please do not reply to this email with feedback on the patch series; please respond to the patch email if you have feedback on the patch. -- Chris [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 27+ messages in thread
end of thread, other threads:[~2017-11-12 11:10 UTC | newest] Thread overview: 27+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-11-06 8:16 successful installation, but problems updating Marco van Hulten 2017-11-06 9:43 ` Carlo Zancanaro 2017-11-06 20:06 ` Marco van Hulten 2017-11-07 9:20 ` Ludovic Courtès 2017-11-07 10:58 ` Marco van Hulten 2017-11-08 1:37 ` Marco van Hulten 2017-11-09 7:45 ` Marco van Hulten 2017-11-09 13:19 ` Ludovic Courtès 2017-11-09 19:27 ` Marco van Hulten 2017-11-09 20:46 ` Marco van Hulten 2017-11-09 20:53 ` Mathieu Othacehe 2017-11-10 7:26 ` Marco van Hulten 2017-11-10 16:35 ` Leo Famulari 2017-11-11 22:23 ` Marco van Hulten 2017-11-12 1:26 ` Leo Famulari 2017-11-06 10:18 ` Thomas Sigurdsen 2017-11-10 5:58 ` Chris Marusich 2017-11-10 7:23 ` Carlo Zancanaro 2017-11-10 16:28 ` Leo Famulari 2017-11-10 23:30 ` Chris Marusich 2017-11-11 15:29 ` myglc2 2017-11-11 17:05 ` Chris Marusich 2017-11-11 18:06 ` myglc2 2017-11-12 1:29 ` Leo Famulari 2017-11-12 3:36 ` myglc2 2017-11-12 4:45 ` Leo Famulari 2017-11-12 11:10 ` Chris Marusich
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.