IRC channel logs

2014-08-02.log

back to list of logs

<tadni>mark_weaver: Yeah, I was extremely tired when I wrote that. I just took a nap, and ... hopefully I can explain better. Basically, I was trying to install Guix on my Old Compaq desktop and I got to the point where I did "guix system init /mnt/etc/config.scm" -- which I waited two hours with no visible progress besides it saying it accepted the connection. I tried to rewrite my usb install image and try again on the desktop and same
<tadni>problem... So, I tried to use the install image on the laptop that I had the GNU distro installed and nothing.
<tadni>I can run "guix system init /mnt/etc/config.scm /mnt --no-substitutes" and it will start to grab packages, but it crashes trying to build on both boxes.
<tadni>I'm not sure what's the problem now...
<mark_weaver>tadni: did you add the hydra key to the list of authorized signing keys?
<tadni>mark_weaver: Pre-install? Yeah.
<mark_weaver>btw, the "guix system init" command requires another argument: the directory where to install.
<mark_weaver>i.e. the mount point of a fresh partition to install on.
<tadni>Yeah, I had "guix system init /mnt/etc/config.scm /mnt" sorry.
<mark_weaver>okay.
<mark_weaver>hmm, I'm not sure why that didn't work. it works for me.
<tadni>Did I miss the info manual in tty2? I didn't notice it in the installer, when I installed it on my spare laptop the day after 0.7s release.
<mark_weaver>I've heard that it's there, but I haven't tried booting the USB stick. I used "guix system init" from a debian system where I built guix from git and enabled substitutes.
<mark_weaver>(added the hydra key)
<mark_weaver>going offline for a while, ttyl!
<tadni>mark_weaver: o/
<tadni>I started from the hello.scm sample package ... and I still can't seem to get this to do anything with guix build. http://paste.lisp.org/display/143290
<mark_weaver>tadni: what command did you use to try to build it, and what was the output?
<xisiqomelir>hello friends
<tadni>Is there a difference between gnu-usb-install-0.7.x86_64-linux and gnu-usb-install-0.7.x86_64?
<davexunit>tadni: are you talking about the images available on gnu.org?
<davexunit>one is a symlink to the other.
<tadni>davexunit: Ah, yeah.
<tadni>So it should be irrelevant which one I use?
<tadni>I want to at least get my spare laptop to where it was -- before I nuked it.
<davexunit>yeah, shouldn't matter.
<tadni>I'm hoping my earlier problems had to do with hydra or something... not sure what really went wrong there.
<tadni>I'm probably going to set it and leave it run overnight, hoping for the best. :^P
<mark_weaver>you could try running "guix system build /path/to/config.scm" first.
<mark_weaver>that should do all of the hard work to build all the components, such that "guix system init" should then be reasonably fast.
<tadni>mark_weaver: Yeah, I'll try ... I just don't know why it worked before and won't now. :^P
<tadni> mark_weaver: Yeah, I guess hydra was just stalling when I was trying earlier "guix system init" is currently grabbing. \\o/
<mark_weaver>yay!
<xisiqomelir>guix build: error: failed to connect to `/usr/local/var/guix/daemon-socket/socket': No such file or directory
<xisiqomelir>from running /pre-inst-env guix build
<xisiqomelir>do I start the git guix daemon on its own
<xisiqomelir>or connect to my regular daemon?
<mark_weaver>xisiqomelir: is this while running guix compiled from git, within a standalone guix system?
<mark_weaver>if so, you need to reconfigure your guix with --prefix= (nothing after the '=')
<mark_weaver>and then run 'make' again
<xisiqomelir>so "/pre-inst-env guix build --prefix= $PACKAGE"?
<mark_weaver>xisiqomelir: no. in the guix source tree, run ./configure --prefix= --with-libgcrypt-prefix=$(guix build libgcrypt)
<mark_weaver>and then "make", and then try the same command again.
<xisiqomelir>ok
<mark_weaver>the issue is that in the standalone guix system, there's a lot of important state (including an sqlite database and other things) in /var/guix
<xisiqomelir>checking build system type... Invalid configuration `/gnu/store/q5qh7y9l9yyvx7cj18dq4mnyryjid10n-libgcrypt-1.6.1-debug': machine `/gnu/store/q5qh7y9l9yyvx7cj18dq4mnyryjid10n-libgcrypt-1.6.1' not recognized
<xisiqomelir>configure: error: /bin/sh build-aux/config.sub /gnu/store/q5qh7y9l9yyvx7cj18dq4mnyryjid10n-libgcrypt-1.6.1-debug failed
<mark_weaver>oh, sorry.
<mark_weaver>./configure --prefix= --with-libgcrypt-prefix=/gnu/store/q5qh7y9l9yyvx7cj18dq4mnyryjid10n-libgcrypt-1.6.1
<mark_weaver>anyway, continuing my explanation: it's important that the new guix you compile will look for the sqlite database and other state in the same place, namely /var/guix
<mark_weaver>and that only happens if you use --prefix=
<mark_weaver>(i.e. the empty string as prefix)
<xisiqomelir>checking whether /gnu/store/q5qh7y9l9yyvx7cj18dq4mnyryjid10n-libgcrypt-1.6.1-debug//lib/libgcrypt can be dynamically loaded... no
<xisiqomelir>configure: error: GNU libgcrypt does not appear to be usable; see `--with-libgcrypt-prefix' and `README'.
<xisiqomelir>I see a double slash there
<xisiqomelir>sec
<mark_weaver>are you doing this within a standalone guix system, or within some other distro?
<xisiqomelir>standalone
<mark_weaver>you are probably missing some important packages needed for the build
<xisiqomelir>./configure works with --with-libgcrypt-prefix=/var/guix/profiles/per-user/ME/guix-profile
<mark_weaver>oh, wait.
<mark_weaver>you must have used the one with -debug at the end.
<mark_weaver>it should be looking in /gnu/store/q5qh7y9l9yyvx7cj18dq4mnyryjid10n-libgcrypt-1.6.1/lib/libgcrypt
<mark_weaver>but it was looking in /gnu/store/q5qh7y9l9yyvx7cj18dq4mnyryjid10n-libgcrypt-1.6.1-debug/lib/libgcrypt
<mark_weaver>i.e. remove the "-debug" from the --with-libgcrypt-prefix= argument
<xisiqomelir>ok let me make distclean and try again
<xisiqomelir>can you have a look at this package.scm I wrote while I do it
<xisiqomelir>and tell me if it looks reasonable?
<mark_weaver>okay
<mark_weaver>you should do: ./configure --prefix= --with-libgcrypt-prefix=/gnu/store/q5qh7y9l9yyvx7cj18dq4mnyryjid10n-libgcrypt-1.6.1
<xisiqomelir> http://paste.lisp.org/display/143291
<xisiqomelir>oop package name wrong in define-public
<mark_weaver>yes, and replace the copyright lines with one with your own name
<mark_weaver>and the 'inputs' are wrong. it should be (inputs `(("gnutls" ,gnutls) ("libpcap" ,libpcap) ...))
<xisiqomelir>ahh ok
<xisiqomelir>I'm completely new to scheme
<mark_weaver>and the double-quotes in the description need to be escaped with backslashes
<mark_weaver>the comma is a prefix operator. it means "unquote"
<mark_weaver>commas do not separate elements in a list in scheme. instead they are part of so-called "quasiquotation", which is what the backquote ` is about.
<mark_weaver>`(...) means that everything inside is a literal data structure, but things prefixed with commas are evaluated as expressions and the results are spliced into the data structure
<mark_weaver>e.g. `(("gnutls" ,gnutls)) is a list containing one list of two elements: the string "gnutls", and the value of the variable 'gnutls', which is bound to a package object (imported from the (gnu packages gnutls) module)
<xisiqomelir>ok so each of those is a list element
<xisiqomelir>ok
<mark_weaver>also please insert line breaks in the description to keep the lines to a reasonable length. in scheme, string literals can contain newlines without any escapes.
<mark_weaver>I think there's no need to mention that it's free and open source, since all of the software in Guix is free software.
<xisiqomelir>I copied the descri from upstream
<mark_weaver>*nod*
<mark_weaver>is the sha256 correct? how did you get it?
<xisiqomelir>guix download http://nmap.org/dist/nmap.tar.bz2
<mark_weaver>okay, good
<xisiqomelir>returned the SHA
<mark_weaver>probably those double-quotes in the description should simply be removed, rather than escaped.
<xisiqomelir>ok the new .configure worked
<xisiqomelir>making
<xisiqomelir>then do I "/pre-inst-env make install" instead of a normal "make install"?
<mark_weaver>I recommend that you don't "make install".
<mark_weaver>instead, just always do: ./pre-inst-env guix
<mark_weaver>to make this nicer, I put ~/bin at the front of my PATH, and then ~/bin/guix is a shell script that does: exec $HOME/pre-inst-env guix "$@"
<xisiqomelir>and it will spawn its own guix-daemon for builds?
<xisiqomelir>or will it use the one on the standalone system
<mark_weaver>so, it will use the guix-daemon on the standalone system, which is fine.
<mark_weaver>s/so/no/
<xisiqomelir>ok let's see
<xisiqomelir>maybe I can contribute a package today!
<mark_weaver>there can only be one guix-daemon running at a time.
<mark_weaver>cool
<xisiqomelir>hey by the way
<xisiqomelir>what is the plan for the gnunet distribution of binaries
<xisiqomelir>I watched one of Ludo's talks in...France I think? on Youtube
<xisiqomelir>and that aspect seemed very neat
<mark_weaver>there's a thread about it on the guix-devel mailing list.
<mark_weaver>search for "GNUnet binary ditribution roadmap" there
<mark_weaver>(spelled wrong, but that's what's actually in the subject line)
<xisiqomelir>I assume we will slowly build some sort of web of trust?
<xisiqomelir>that seems much more secure than a sole repository which provides a lone target to compromise
<mark_weaver>well, ultimately the plan is to arrange for builds to be completely reproducible, always generating exactly the same bits, so that anyone can do the builds on their own machine and compare with what other's provide.
<mark_weaver>also, you can run the guix-daemon with --no-substitutes, in which case everything other than the bootstrap binaries are built on your own machine from source code.
<xisiqomelir>yes I think that's what's making tadni's installs take 5 hours
<mark_weaver>but as for the details, I'm actually not sure what the plan is on gnunet. I was busy with other things during those discussions, and haven't yet caught up.
<mark_weaver>I run with --no-substitutes on my own machine, fwiw. and yes, it takes a very long time to build everything.
<xisiqomelir>on my thinkpad the gcc bootstrap is about an hour and a half
<mark_weaver>on my YeeLoong, it takes well over a week, but I've done it several times.
<mark_weaver>I just leave it going in the background.
<mark_weaver>when we have bit-for-bit reproducible builds, and active independent verification of the binaries happening on a regular basis (build farms run by different people, digitally signing the binaries in a similar way to people signing each other's GPG keys), then I'll probably start using binary substitutes.
<xisiqomelir>ok make made an nmap.go from my nmap.scm
<xisiqomelir>trying out build -K now
<mark_weaver>you need to put it in the gnu/packages/ directory of your git working directory, and add it to gnu-system.am
<xisiqomelir>yup
<xisiqomelir>build failed because of course no nmap in hydra yet. Trying --with-source=
<mark_weaver>xisiqomelir: no
<xisiqomelir>just --no-substitutes?
<mark_weaver>it should have built it locally, if there's no substitute on hydra.
<mark_weaver>did you put ./pre-inst-env before the build command?
<xisiqomelir>yes
<mark_weaver>it should do the right thing automatically
<mark_weaver>can you show me a transcript of the command you typed and the output?
<xisiqomelir>yeah just a second
<mark_weaver>I guess there's no harm in passing --no-substitutes, but it shouldn't be needed.
<mark_weaver>definitely don't pass --with-source=
<xisiqomelir>oh damn, I don't have enough xterm history
<mark_weaver>that would defeat the test.
<xisiqomelir>and I have another error in my package.scm
<xisiqomelir>the version numbering is off
<mark_weaver>btw, how did you create the .go file?
<xisiqomelir>I edited gnu-sytem.am and added the package.scm to GIT/gnu/packages before compiling
<xisiqomelir>then I did ./configure and make
<mark_weaver>no need to re-run ./configure, but if you did, hopefully you passed the same options as before.
<xisiqomelir>ya
<mark_weaver>just 'make' is sufficient.
<mark_weaver>(and a _lot_ faster)
<mark_weaver>anyway, you can use the 'script' command to make a transcript of the session. or run it within emacs M-x shell, or within GNU screen. so many options...
<xisiqomelir>I wanted to ask about Emacs
<xisiqomelir>because it's in the README
<mark_weaver>ask what?
<xisiqomelir>what is Geiser?
<xisiqomelir>Geiser is a collection of Emacs major and minor modes that conspire with one or more Scheme interpreters to keep the Lisp Machine Spirit alive. It draws inspiration (and a bit more) from environments such as Common Lisp's Slime, Factor's FUEL, Squeak or Emacs itself, and does its best to make Scheme hacking inside Emacs (even more) fun.
<xisiqomelir>So I install Emacs and geiser and then hacking guix becomes easier?
<mark_weaver>well, scheme hacking becomes easier, though I'm not sure it makes a noticable difference for writing guix recipes.
<xisiqomelir>ok I'll try that out
<mark_weaver>I confess that I'm unusual among Guile power users in that I don't use Geiser, but I do use 'paredit', which has a steep learning curve, but makes editing scheme code vastly easier and more efficient once you get the hang of it.
<mark_weaver>also for editing elisp code
<xisiqomelir>so Dave and Ludo and Jason use Geiser?
<mark_weaver>Dave and Ludo and Wingo use Geiser.
<mark_weaver>I don't know about Jason.
<xisiqomelir>I will try out both
<xisiqomelir>emacs itself will probably be the bigger hurdle since I've used vi for so long
<xisiqomelir>but I think there is a vi-mode
<xisiqomelir>I got a warning for OpenSSL coming from 2 modules
<xisiqomelir>I guess I can just omit (gnu packages openss)?
<mark_weaver>huh?
<mark_weaver>more detail, please.
<xisiqomelir>WARNING: (gnu packages nmap): `openssl' imported from both (guix licenses) and (gnu packages openssl)
<mark_weaver>ah yes.
<xisiqomelir>and the configure for the package worked, just threw out one compiler error to fix
<mark_weaver>change "#:use-module (guix licenses)" to "#:use-module ((guix licenses) #:prefix license:)"
<xisiqomelir>ok
<mark_weaver>and then change (license gpl2) to (license license:gpl2)
<mark_weaver>the (guix licenses) module exports a binding 'openssl' which refers to a license. (gnu packages openssl) exported 'openssl' referring to a package.
<mark_weaver>jmd: if you haven't already gotten them, sneek has some messages for you
<jmd>Hmm. Normally it automatically sends them. It seems to be broken recently.
<mark_weaver>well, he doesn't send them until you say something. but now you have, and he still hasn't delivered the messages.
<mark_weaver>anyway, I fixed gccgo, and hopefully made it easy to fix your gcj package.
<mark_weaver>see http://git.savannah.gnu.org/gitweb/?p=guix.git;a=commitdiff;h=c4df90a594672042ae106730ab5ce07fe85cf46f
<mark_weaver>sneek: later tell waxysubs hello!
<sneek>Will do.
<waxysubs>hi
<sneek>Welcome back waxysubs, you have 1 message.
<sneek>waxysubs, mark_weaver says: hello!
<mark_weaver>hmm.
<mark_weaver>not sure why it didn't work before.
<mark_weaver>oh, I think I know.
<mark_weaver>I told sneek "later tell jmd: blah blah blah"
<mark_weaver>and I think he may have interpreted that as meaning that it should be delivered to "jmd:"
<jmd>Ahh!!
<mark_weaver>I wanted to set my nick to "jmd:" to verify this, but it tells me it's an invalid nick.
<mark_weaver>sneek: later tell waxysubs: hello
<sneek>Okay.
<waxysubs>hi
<sneek>waxysubs, you have 1 message.
<sneek>waxysubs, mark_weaver says: hello
<mark_weaver>oh well, so much for that hypothesis...
<mark_weaver>I ask dsmith about it
<mark_weaver>I'll*
<jmd>I had disk problems recently so haven't touched guix much.
<mark_weaver>oh no!
<mark_weaver>did you lose anything important?
<jmd>I dunno. There is a lot of stuff in lost+found - I haven't checked through it all yet.
<mark_weaver>did you have a recent backup?
<jmd>It depends on what you mean by recent!
<mark_weaver>heh
<mark_weaver>well, given that your gcj recipe succeeded up to the point of finding the cycle, I'm very confident that the same fix for gccgo would result in a working gcj.
<mark_weaver>regarding the disk: fwiw, a couple of years ago I had a similar bad disk corruption. in my case, I was using RAID, so I broke the RAID and kept one copy of the original corrupted filesystem. this turned out to be important, because some important files (like huge mail files) were missing, but I was able to recover them from the original filesystem.
<mark_weaver>I used 'debugfs' to recover some files that were missing.
<jmd>/Scratch/john/guix-guix/
<jmd>g
<jmd>Ooops
<svetlana>thought on feature for a package manager: display interactive dependency graph with aggregated sizes of each graph node (eg each package + its dependencies)
*svetlana is spending hours trying to do this for another pkg manager; such feature not being scripted already is annyoing
<jmd>svetlana: Good idea. A bit like the filelight filesystem viewer.
<svetlana>Filelight (I use ncdu for that, if I'm interpreting it right) just shows files recursively, but it, if I read it right, doesn't do packages.
<jmd>Right. I said "a bit like" - not "identical to".
<svetlana>OK :)
*tadni` isn't sure if guile-wm works with ttf ... he dosen't think so, but it'd be a lot easier to package proggy over the bitmap one.
<tadni`>Yeah, it supports just bitmap now ... darn. :^/
<tadni`>Hm, my git grabbed /guix/bootstrap on my GNU install is telling me "fatal: unable to access 'https://github.com/NixOS/nix.git/': server certificate verification failed. CAfile: none CRLfile: none:"
<tadni`>davexunit: o/
<davexunit>\\o tadni`
<tadni`>davexunit: What time is it over there in MA (iirc)? It's nearly 7 here.
<davexunit>7:50
<davexunit>AM
<tadni`>It feels so weird actually being up this early again ...
<davexunit>not used to it?
<davexunit>I've got my laptop on the kitchen counter and I'm preparing breakfast :)
*tadni` is reseting his sleep schedule for the school semester starting mid-month. He usually goes to bed at 6am and will sleep to 2pm ...
<davexunit>oh jeeze, I remember those days
<tadni`>Yeah, I'm "still young" but with school and another part-time job on the hosizon ... things need to change sooner than later. :^P
<davexunit>I remember being able to stay up until 4AM or something during the summer
<davexunit>but that was still in high school, I think. I've worked at least part time since I was 17
<tadni`>davexunit: I have a habbit of staying up to literal exhaushtion... so regurlaly I'll stay up for like, 35-40 hours? Not a good thing, really.
<davexunit>yeah, that's no good.
<tadni`>Oh yay, this font-proggy module is actually coming together! Yah, prior x11 bitmap examples!
<davexunit>yay! is this your first package?
<tadni`>davexunit: Nah, I took a LONG break from Guix though. I've gone through like 3 nicks since then, but I've packaged Slim and the related depends.
<davexunit>oh cool
*tadni` still has no idea what he's doing though. :^I
<tadni`>What should I do if a package has no version number? Just leave it blank?
<davexunit>hmm, we need a version number. what software is this?
<tadni`>davexunit: http://www.proggyfonts.net/download/ I'm doing it for guile-wm.
<davexunit>oh cool, guile-wm is neat.
<davexunit>hmm, I don't know what to do when there is no version number
<alezost>tadni`: there are several packages with (version "0")
<davexunit>good to know.
<tadni`>alezost: Is there a way to remove the version from the string-append on the download stage?
<davexunit>yeah that's up to you
<davexunit>you don't need to include the version
<tadni`>I'm saying, doesn't it auto-include in string append?
<davexunit>no
<tadni`>When I tried to build, it said if was trying to grab "ProggyClean.pcf0.1.zip"
<tadni`>it was trying*
<davexunit>what does the 'uri' form look like?
<tadni`>"(uri (string-append "http://www.proggyfonts.net/wp-content/download/ProggyClean.pcf" version ".zip"))"
<davexunit>remove 'version'
<tadni`>D'oh.
<tadni`>Thanks.
<tadni`>I think I may have it done ... can't test on this box though until I figure ;ut the deal with the certificates.
<tadni`>out*
<tadni`>Hm, trying to delay me need for the git repo on this box and playing with the 0.7 tarball ... and it appears, that I have gcc but checking "checking whether the C compiler works... no"
<Steap>tadni`: can you take a look at config.log, search this message and see what compilation failed ?
<davexunit>tadni`: guix package -i glibc
<tadni`>davexunit: Well, it was not installed ... but it appears it did nothing of noticable effect. :^P
<davexunit>oh
<davexunit>damn
<tadni`>Steap: It didn't even get to the compilation stage, just checking. Am I misunderstanding you?
<Steap>tadni`: usually in config.log
<Steap>you can see why it failed
<Steap>like gcc is not in the PATH, you can't write on the partition, you're out of space...
<Steap>it does that by trying to compile a dummy C file iirc
<tadni`>Well, this is the snippit in question ... though I'm not sure what happened. http://paste.lisp.org/display/143293
<Steap>tadni`: $ which as
<tadni`>"$ which as
<tadni`>which: no as in (/run/setuid-programs:/run/current-system/profile/sbin:/home/tadni/.guix-profile/bin:/run/current-system/profile/bin)"
<Steap>yes, that would be the issue
<tadni`>What is "as" shorthand for?
<Steap>the GNU assembler
<Steap>it should be installed somewhere
<Steap>so either it is installed in a location that is not in your $PATH, or there is a huge issue with your gcc installation
<tadni`>Binutils was not installed.
<Steap>funny, it's not a dependency of gcc ?
<tadni`>You'd think.
<Steap>yes, weird
<tadni`>Yah, 0.7 is building on GNU!
<tadni`>Still need to figure out certs at somepoint via git, but this gives me awhile.
<tadni`> davexunit: Hm, I tried building my module and it's still trying to append a version number. "******************************-font-proggy-clean-0.1.drv"
<tadni`>Hm, weird. Yeah, excluding 'version' seems irrelevant.
<davexunit>oh yeah, binutils.
<tadni`>davexunit: Hm?
<davexunit>I should have mentioned that one to you as well when I mentioned glibc
<tadni`>davexunit: Ah.
<tadni`>We rally should have a guix-devel package or something to trivialize the process of setting guix up on GNU as-much as possible. :^P
<tadni`>I'm sure it will come at somepoint though.
<davexunit>yeah, it's a convenience, we don't have a lot of those yet :)
*tadni` is at a loss what to do at this point to get rid of the version number. I even tried leaving the version string null and I still got a "-" after the package name, before the .zip
<davexunit>what does the 'uri' field look like now?
<tadni`>davexunit: Isn't alpha software lovely. :^)
<tadni`> (uri (string-append "http://www.proggyfonts.net/wp-content/download/ProggyClean.pcf" ".zip")
<davexunit>how about simply (uri "http://www.proggyfonts.net/wp-content/download/ProggyClean.pcf.zip")
<tadni`>Still appears as ProggyClean.pcf0.zip ...
<davexunit>really? hmm...
*davexunit looks at code
<tadni`>Hm, it's not trying to grab it now.
<tadni`>It's using older versions of proggy-fonts which has the 0 or 0.1 suffix.
*tadni` also needs to figure out how to use a *.zip. He thought you just listed it... but it tries to read it as a tar.
<davexunit>there's other packages that download zips
<tadni`>davexunit: I mean, ProggyClean only comes in a *.zip and if I list that under uri -- it tries to read it as a tar and fails.
<davexunit>you need to fix your build system, then.
<davexunit>url-fetch doesn't care about the type of archive
*tadni` looks for examples of modules that use *.zip.
<tadni`>I really need to learn more unix basics, to search these files easier. I know the tools exist, just not h;w to use them. :^/
<davexunit>what build system are you using?
<tadni`>gnu
<davexunit>that's probably not what you want, does proggy-fonts have a configure script and makefile?
<tadni`>davexunit: Nope.
<tadni`>I just used adobe's font expressions as a base.
<davexunit>then the gnu-build-system isn't what you want.
<davexunit>mark sent you an example of the dejavu font package awhile ago
<davexunit>that uses the trivial-build-system
<tadni`>I had a feeling it wouldn't be "this easy: but yeah, makes sense.
<tadni`>Man, I really need to start SICP again. It'd be nice to implement a ttf-builg-system and x11-font-build-system.
<tadni`>davexunit: Well, thanks for the advice. I'll certainly look into it a bit more, but time for some errands now.
<tadni`>Peace people. o/
<davexunit>late
<davexunit>later*
***guest1001 is now known as oitofelix