how to get the path of the logfile after an unsuccesful build?
Hi, did we ever talk about that there's too little information on how to get the current log file of a failed build? I need this right now (the full log) and I can't remember how, and making use of the log folder in var/log/guix/ won't help either. -- A88C8ADD129828D7EAC02E52E22F9BBFEE348588 https://n0.is/~ng0
Re: Regarding Outreachy round 16
Hi Aakanksha, > I'm interested in working on the project "Improve the user experience > for Guix package". Thanks for your interest in Guix! > I know C/C++ fair enough, I have experience working with GIT too. Excellent! Some familiarity with C++ will come in handy. Most of Guix is written in Guile Scheme, which is a language that can be learned very quickly, but some parts that are relevant for this project are written in C++. > Can anyone tell me how do I begin contributing? A good start is to create a simple Guix package. In order to do that you will have to install Guix first. We have an installation script that simplifies this process: https://git.savannah.gnu.org/cgit/guix.git/tree/etc/guix-install.sh Once you have Guix installed and confirmed that you can build the “hello” package without errors, I’d suggest getting and compiling the Guix sources. This is explained in the manual (which also includes a couple of other hints): http://www.gnu.org/software/guix/manual/html_node/Contributing.html Once you have the Guix sources you can start editing the files under “gnu/packages”, which contain package definitions. You can then create a new package definition for a package of your choosing and submit it to the guix-patc...@gnu.org mailing list as a git formatted patch. This may be a little overwhelming at first, but don’t worry about it. I strongly encourage you to ask questions on the #guix IRC channel on irc.freenode.net. People there are usually very helpful, and as there are many regular contributors, they should be able to help you out. Getting started is probably the hardest part (it was for me), so don’t worry about asking too many questions :) I hope this answers your questions. If anything in this message should be unclear or confusing feel free to just ask here or by sending me an email off-list. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net
Re: how to get the path of the logfile after an unsuccesful build?
Ricardo Wurmus transcribed 358 bytes: > > ng0 writes: > > > did we ever talk about that there's too little information on how to get > > the current log file of a failed build? I need this right now (the full log) > > and I can't remember how, and making use of the log folder in var/log/guix/ > > won't > > help either. > > The daemon doesn’t keep logs for failed builds. > > -- > Ricardo So how are we supposed to figure out failures then that happen outside of the length of the terminal scrollback? Of course I could run it in tmux, but having log files to share of the failed build comes in handy when debugging builds with upstream/downstream projects. -- A88C8ADD129828D7EAC02E52E22F9BBFEE348588 https://n0.is/~ng0
Re: how to get the path of the logfile after an unsuccesful build?
ng0 writes: > Ricardo Wurmus transcribed 358 bytes: >> >> ng0 writes: >> >> > did we ever talk about that there's too little information on how to get >> > the current log file of a failed build? I need this right now (the full >> > log) >> > and I can't remember how, and making use of the log folder in >> > var/log/guix/ won't >> > help either. >> >> The daemon doesn’t keep logs for failed builds. >> >> -- >> Ricardo > > So how are we supposed to figure out failures then that happen outside of the > length of > the terminal scrollback? Of course I could run it in tmux, but having log > files to > share of the failed build comes in handy when debugging builds with > upstream/downstream > projects. Can't you redirect the output to a file?
Re: how to get the path of the logfile after an unsuccesful build?
Clément Lassieur transcribed 766 bytes: > ng0 writes: > > > Ricardo Wurmus transcribed 358 bytes: > >> > >> ng0 writes: > >> > >> > did we ever talk about that there's too little information on how to get > >> > the current log file of a failed build? I need this right now (the full > >> > log) > >> > and I can't remember how, and making use of the log folder in > >> > var/log/guix/ won't > >> > help either. > >> > >> The daemon doesn’t keep logs for failed builds. > >> > >> -- > >> Ricardo > > > > So how are we supposed to figure out failures then that happen outside of > > the length of > > the terminal scrollback? Of course I could run it in tmux, but having log > > files to > > share of the failed build comes in handy when debugging builds with > > upstream/downstream > > projects. > > Can't you redirect the output to a file? guix build hello 2>&1 | tee output.txt would work of course, but why throw away the logs when we could just save them? It seems not very developer friendly to me. This way I will just write another script that wraps around guix build and saves all my build logs to a location. I think guix should handle this by default unless there are good reasons not to do it. -- A88C8ADD129828D7EAC02E52E22F9BBFEE348588 https://n0.is/~ng0
Re: how to get the path of the logfile after an unsuccesful build?
Am 09.03.2018 um 15:06 schrieb ng0: > The daemon doesn’t keep logs for failed builds. I asked this a few month ago and was told this is a bug. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: how to get the path of the logfile after an unsuccesful build?
Hartmut Goebel transcribed 332 bytes: > Am 09.03.2018 um 15:06 schrieb ng0: > > The daemon doesn’t keep logs for failed builds. > > I asked this a few month ago and was told this is a bug. > > -- > Regards > Hartmut Goebel > > | Hartmut Goebel | h.goe...@crazy-compilers.com | > | www.crazy-compilers.com | compilers which you thought are impossible | > > > Okay, thanks for pointing this out to me. For now I'll use yet another script. -- A88C8ADD129828D7EAC02E52E22F9BBFEE348588 https://n0.is/~ng0
Re: how to get the path of the logfile after an unsuccesful build?
Hartmut Goebel writes: > Am 09.03.2018 um 15:06 schrieb ng0: >> The daemon doesn’t keep logs for failed builds. > > I asked this a few month ago and was told this is a bug. I think it would be great to create a bug report.
Re: [PATCH] fix idris (was "Re: Incomplete work to upgrade Idris to 1.2.0")
Sorry about the mail floundering, hopefully this is better. >From 2486f55a177b3f62509fd999e5d5cbd072d5ce17 Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Wed, 7 Mar 2018 18:28:24 -0600 Subject: [PATCH 1/4] gnu: Add ghc-aeson-1.1.2.0. * gnu/packages/idris.scm (ghc-aeson-1.1.2.0): New variable. --- gnu/packages/idris.scm | 14 ++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm index 6eb940c9d..ae90676d5 100644 --- a/gnu/packages/idris.scm +++ b/gnu/packages/idris.scm @@ -30,6 +30,20 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) +(define ghc-aeson-1.1.2.0 + (package (inherit ghc-aeson) +(version "1.1.2.0") +(source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/aeson/aeson-"; + version + ".tar.gz")) + (sha256 +(base32 + "1zy5z8pzvh53qkjm0nm3f4rwqfqg3867ck8ncd6mrxpcyvxqqj1p")) + (define-public idris (package (name "idris") -- 2.16.2 >From 477d5f85747501c5b78597f76713fa6f87eedd6f Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Wed, 7 Mar 2018 18:29:23 -0600 Subject: [PATCH 2/4] gnu: Add ghc-trifecta-1.6.2.1. * gnu/packages/idris.scm (ghc-trifecta-1.6.2.1): New variable. --- gnu/packages/idris.scm | 13 + 1 file changed, 13 insertions(+) diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm index ae90676d5..b67fcbccf 100644 --- a/gnu/packages/idris.scm +++ b/gnu/packages/idris.scm @@ -44,6 +44,19 @@ (base32 "1zy5z8pzvh53qkjm0nm3f4rwqfqg3867ck8ncd6mrxpcyvxqqj1p")) +(define ghc-trifecta-1.6.2.1 + (package (inherit ghc-trifecta) +(version "1.6.2.1") +(source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/trifecta/"; + "trifecta-" version ".tar.gz")) + (sha256 +(base32 + "1rgv62dlmm4vkdymx5rw5jg3w8ifpzg1745rvs1m4kzdx16p5cxs")) + (define-public idris (package (name "idris") -- 2.16.2 >From ef0dcd5a84c4f8e4331fb8f07a4e1709a577eb31 Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Wed, 7 Mar 2018 18:31:22 -0600 Subject: [PATCH 3/4] gnu: Add ghc-cheapskate-0.1.0.5. * gnu/packages/idris.scm (ghc-cheapskate-0.1.0.5): New variable. --- gnu/packages/idris.scm | 19 +++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm index b67fcbccf..c103055f5 100644 --- a/gnu/packages/idris.scm +++ b/gnu/packages/idris.scm @@ -57,6 +57,25 @@ (base32 "1rgv62dlmm4vkdymx5rw5jg3w8ifpzg1745rvs1m4kzdx16p5cxs")) +;; ghc-cheapskate appeared too new. This follows LTS Haskell. +(define ghc-cheapskate-0.1.0.5 + (package +(inherit ghc-cheapskate) +(version "0.1.0.5") +(source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/cheapskate/cheapskate-"; + version + ".tar.gz")) + (sha256 +(base32 + "0cpsmfx5z2xykg71sv8j7pl8ga6pzyjnjdb9bxn00vcpqkzvfqvs" +(arguments + ;; LTS Haskell says data-default >=0.5 && <0.8 + `(#:configure-flags (list "--allow-newer=data-default") + (define-public idris (package (name "idris") -- 2.16.2 >From c19d3fc198afdddefc4feeb9151b57e7f72d8303 Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Wed, 7 Mar 2018 18:32:19 -0600 Subject: [PATCH 4/4] gnu: Fix idris. * gnu/packages/idris.scm (idris)[inputs]: alphebetize ghc-vector-binary-instances and ghc-async. Use ghc-aeson-1.1.2.0, ghc-cheapskate-0.1.0.5, and ghc-trifecta-1.6.2.1. Remove ghc-aeson, ghc-cheapskate, ghc-parsers, ghc-tasty, ghc-tasty-golden, ghc-tasty-rerun, ghc-trifecta, and ghc-zlib. --- gnu/packages/idris.scm | 17 ++--- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm index c103055f5..633b8b9d5 100644 --- a/gnu/packages/idris.scm +++ b/gnu/packages/idris.scm @@ -92,15 +92,15 @@ (inputs `(("gmp" ,gmp) ("ncurses" ,ncurses) - ("ghc-aeson" ,ghc-aeson) - ("ghc-async" ,ghc-async) + ("ghc-aeson" ,ghc-aeson-1.1.2.0) ("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint) ("ghc-ansi-terminal" ,ghc-ansi-terminal) ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint) + ("ghc-async" ,ghc-async) ("ghc-base64-bytestring" ,ghc-base64-bytestring) ("ghc-blaze-html" ,ghc-blaze-html) ("ghc-blaze-markup" ,ghc-blaze-markup) - ("ghc-cheapskate" ,ghc-cheapskate) + ("ghc-cheapskate" ,ghc-cheapskate-0.1.0.5) ("ghc-code-page" ,ghc-code-page) ("ghc-fingertree" ,ghc-fingertree) ("ghc-fsnotify" ,ghc-fsnotify) @@ -108,23 +108,18 @@ ("ghc-mtl" ,ghc-mtl) ("ghc-network" ,ghc-network) ("ghc-optparse-app
Re: how to get the path of the logfile after an unsuccesful build?
ng0 writes: > did we ever talk about that there's too little information on how to get > the current log file of a failed build? I need this right now (the full log) > and I can't remember how, and making use of the log folder in var/log/guix/ > won't > help either. Why won't /var/log/guix help? To see the most recent build logs for a given package, say 'icecat', I do this: ls -ltr /var/log/guix/drvs/*/*-icecat* | tail This might not work for offloaded builds, though. Mark
Re: extract tools from guix scripts
Hello, Ricardo Wurmus skribis: > under “guix/scripts” there are a couple of tools that are really useful, > such as “guix challenge”. While they are great for the command line, > I’d really like to use them from within Guile. > > Using “(guix-challenge)” directly is cumbersome, because I need to > provide an argument list “args”, which is then parsed internally. > Instead, I’d like to be able to say > >(challenge #:urls (list "a" "b") > #:packages (list foo bar baz)) > > and have it produce some report values. Then “guix-challenge” could be > implemented in terms of “challenge”. I think ‘compare-contents’ in (guix scripts challenge) is close to what you want, no? See tests/challenge.scm for example usage. The short-lived reproducibility.html generator also used it: http://git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/website/www/packages.scm?id=ae2d0209cc44e25a45cab0abcc9d85172fd48dca#n545 > The same might be useful for “guix-build” or “guix-environment”. I agree with this sentiment! Then it’s a matter of defining an appropriate API. For instance, all ‘guix-build’ does is UI stuff around (guix store) and (guix packages). There’s a higher-level ‘build-package’ procedure in (guix scripts). IMO a good interface can’t just be a Schemey variant of the CLI, because often the CLI papers over a number of details that a good API should expose. Ludo’.
Re: how to get the path of the logfile after an unsuccesful build?
ng0 writes: > did we ever talk about that there's too little information on how to get > the current log file of a failed build? I need this right now (the full log) > and I can't remember how, and making use of the log folder in var/log/guix/ > won't > help either. The daemon doesn’t keep logs for failed builds. -- Ricardo