IRC channel logs

2014-11-25.log

back to list of logs

<davexunit>hello #guix
<tadni_>Just installed 0.8 on a dedicated device. Forgot how to authorize the substitutes...
<davexunit>tadni_: guix archive --authorize < hydra.gnu.org.pub
<tadni_>Where's that *.pub at?
<tadni_>Ah, /share/guix/*
<tadni_>Welp, I don't have a /share/ on my dedicated install...
<tadni_>Oh wait, I'm stupid.
<tadni_>I remember it's in that /gnu/store/**********-guix-0.8/
<davexunit>find /gnu/store -follow -name hydra.gnu.org.pub
<tadni_>davexunit: Yeah, I got it -- thanks.
<tadni_>I really need to take a unix class or something though.
<davexunit>:)
<tadni_>Is there a decent config file, for that graphic session shown in the screenshots on the Guix webpage yet?
<tadni_>I'm just going to use my old config.scm , which appears more-or-less good enough.
<davexunit>tadni_: here's my config https://gitorious.org/davexunit/guix-config/source/6c37693fa461261846deaabf8a8861fa2c084ba8:desktop.scm
<tadni_>davexunit: Ah, so the default xsession I assume opens Windowmaker?
<davexunit>yes
<davexunit>I add an .xsession file to my home dir that starts ratpoison instead
<tadni_>It'd be nice if we had a configuration option for keyboard layouts.
<tadni_>Like (keyboard-layout 'colemak) or similar.
<davexunit>tadni_: we were actually just talking about that earlier
<davexunit>civodul wants to add that
<tadni_>I'm a very crappy psychic! I can only read the immediate past, that's in logs. :^U
<davexunit>:P
<tadni_>But yeah, that would be very nice. Be able to set default layout in tty and xorg.
<davexunit>yeah, that would be very convenient. get coding! :P
<davexunit>I'm curious about the best way to setup a database server on guix.
<davexunit>should it be a system level service, like it traditionally is on other OSes, or would it something run per-user?
<tadni_>So, because of base-services -- do I still need all these console-font-service and mingetty-service?
<davexunit>you don't need to specify them explicitly
<davexunit>just cons %base-services onto your services list
<davexunit>and you'll have them
<tadni_>Yeah, that's what I suspected.
<tadni_>Hydra unresponsive.
<tadni_>Yeah, Hydra has been down for the past hour or so. :^P
<jxself>tadni_: Are you talking to yourself? :)
<tadni_>Just making sure it is known it still is.
<jxself>Your second message looks like your talking to yourself. :)
<jxself>er you're
<tadni_>Ah, okay.
<jxself>Hydra often seems to have problems.
<tadni_>Yeah, we need a fundraiser or something for it me thinks.
<nkar>do I need to create /etc manually when installing from a usb stick?
<tadni_>I'd gladly thrown in 50 bucks.
<tadni_>nkar: Yes.
<nkar>okay
<tadni_>Then create your config.scm there.
<nkar>yeah, thanks
<tadni_> nkar Not sure how and/or if it will install, I'm having a lot of issuses with hydra.
<tadni_>Don't know how much the base install pulls from hydra, if anything.
<tadni_>Hydra is rollin, me thinks!
<nkar>is there a way to verify the os config? do I just need to 'guix system init'?
<nkar>(if the config is wrong, the command will fail, I assume)
<tadni_>What do you mean verfying?
<tadni_>If it is wrong, guile will complain.
<nkar>whether parens are matched and all the needed modules imported
<nkar>yeah, I gathered
<alezost>nkar: you can just compile it and see for the errors, for example: "guild compile -Wunbound-variable your-os-config.scm"
<nkar>alezost: already done that. now I'm trying to fingure out why the kernel fails to boot after I run cryptomount.
<nkar>anyone use luks on "/"?
<civodul>Hello Guix!
<nkar>civodul: I encrypted the root partition with luks. when I try to boot, I get a kernel panic because the system fails to mount the root fs. any ideas?
<nkar>in the grub prompt, I run insmod luks; cryptomount hdX,gptY; set root=crypto0; linux /gnu/store/...bzImage; boot
<civodul>nkar: could you post your config?
<nkar>okay, but it's very similar to yours
<civodul>my root partition is unencrypted though
<nkar>yes, I know
<nkar>civodul: is there a paste util in the distribution? -s doesn't return anything except gnu screen, which is not relevant
<civodul>"paste util"? "-s"?
<civodul>what? :-)
<civodul>which -s?
<nkar>guix package -s
<nkar>I mean a program that can be used to send files to pastebin and other similar sites from the command line
<civodul>no, there's no such program
<civodul>that'd be useful, though
<civodul>i think there's one or two in Emacs
<nkar>civodul: http://dpaste.com/18JEE4B
*alezost uses https://gitorious.org/alezost-emacs/debpaste for both receiving and sending pastes to http://paste.debian.net/ from Emacs
<civodul>nkar: could you try to get more info; for instance, at which point do you get the Guile prompt, what does ",bt" show, etc.?
<civodul>the config looks correct
<nkar>civodul: I don't get the guile prompt. grub boots, I unencrypt the partition, tell grub where the bzimage is, and boot. then I get a linux backtrace with this error: kernel panic - now syncing: VFS: Unable to mount root fs on unknown-block(0,0). I wonder whether I need to specify anything else in the grub prompt. though, I can't find anything relevant on the web.
<civodul>uh
<civodul>nkar: could you try adding (needed-for-boot? #t) to the "/" file-system decl?
<civodul>there's was a problem here, for sure
<nkar>civodul: will try in a second. let's see if it makes a difference
<nkar>civodul: so, do I need to just edit the config and reboot?
<civodul>nkar: you need to "reinstantiate" the config, presumably with 'guix system init' (from the USB image)
<civodul>sorry for the overhead
<nkar>the server is unresponsive again
<nkar>okay, it works now
<nkar>civodul: 'system init' fails with "file exists" when copying the kernel? can I safely reboot after that?
<nkar>or do I need to remove anything from /tmp?
<nkar>/mnt, I mean
<civodul>uh
<civodul>can you see which file it is that exists>?
<civodul>perhaps you could reformat /mnt to be sure
<nkar>it stops copying after /gnu/store/rzs...linux-libre-3.17.3
<nkar>before that it attempts to copy the initrd
<nkar>okay, I'll try to reformat if there's no other way
<civodul>yeah, probably the easiest way
<civodul>'guix system init' assumes there's nothing on the target file system
<nkar>okay
<nkar>will try later today
***mattl_ is now known as mattl
***mattl is now known as Guest96641
***Guest96641 is now known as mattl_
<nkar>civodul: nope, got a kernel panic again
<civodul>bah
<nkar>civodul: if you're out of ideas, I can encrypt just the home partition. once I flash libreboot, I'll attempt to encrypt everything (even /boot).
<civodul>well, it would be nice to do some more debugging, but that's maybe not what you'd like ;-)
<civodul>maybe you could try booting with --repl on the kernel command line
<nkar>you mean 'boot --repl' in the grub prompt?
<civodul>i mean, edit the GRUB entry, and a --repl on the line that starts with "linux"
<nkar>okay, will try that
<civodul>then look at 'boot-system' in (gnu build linux-boot)
<civodul>do you at least see the "Welcome, this is GNU's early boot Guile.\\n" message?
<civodul>if you don't, then that means that you're not using the initrd at all, in which case it cannot possibly work
<nkar>editing the config was a good idea. I've prepended the grub commands I pasted previously and now I see the guile repl. it complains about non-existent device on /dev/mapper/main, though
<nkar>the last message I see is "random: nonblocking pool is initialized"
<civodul>ok
<nkar>okay, I managed to get into the guile repl
<nkar>(going afk for a bit)
<civodul>hmm, when using --repl, you can't see messages about /dev/mapper/main
<civodul>because when the REPL is started, nothing has been done regarding mapped devices
<taylanub>what would cause "ld: cannot find -lcurses" despite having input ncurses?
<civodul>hmm, no idea, that "shouldn't happen"
<civodul>unless the build system overrides $LIBRARY_PATH or something
<civodul>in that case, the best is to run "guix build foo --keep-failed", and then to get there, inspect 'environment-variables', source it, and investigate more
<civodul>that's a very generic piece of advice, i admit :-)
*civodul just got EMMS packaged \\o/
<davexunit>civodul: yes! been wanting that to use with mpd
<nkar>civodul: I didn't use --repl
<taylanub>in /gnu/store/...-ncurses-5.9/lib there's libncurses but not libcurses...
<civodul>taylanub: ooh right, i had overlooked that tiny letter
<taylanub>maybe I can patch the Makefile to use -lncurses?
<taylanub>(with a '(snippet ...)')
<civodul>yes, probably
<civodul>nkar: normally, the initrd would run 'cryptsetup' to create a device mapping for /dev/mapper/main, and that would ask you for a passphrase
<civodul>did you get a passphrase prompt at all?
<civodul>i have to rush now but i'll be back later today
<nkar>sneek: later tell civodul I did get a password prompt, but only when I added 'cryptomount' to the config. remember, initrd is in the store, which is encrypted on my machine.
<sneek>Got it.
<taylanub>in a source "snippet" I can't refer to inputs, right? have to use a phase?
<nkar>sneek: later tell civodul (boot-system) returns the greeting and the error: In procedure mount: device or resource busy
<sneek>Okay.
<taylanub>(now i need to patch /usr/bin/install to the right path)
<jmd>We need a GUIX_FLAGS environment variable.
<dragex>hi, people. seems that http://hydra.gnu.org is unresponsive, i can't download the substitutes from it. Is there any other guix package repository around???
<davexunit>dragex: currently, no. our build farm is overloaded, we need more resources.
<davexunit>luckily, you can build everything locally, but it will take a lot longer.
<dragex>currently i am working with --no-substitute switch
<davexunit>yeah
<dragex>but it wil take very long time to compile all
<davexunit>that will build everything locally.
<jmd>Bootstrap binaries are lacking guild
<taylanub>this Makefile.in has a line 'prefix = /usr/local'. I suppose I need to patch that to the empty string?
<davexunit>taylanub: it's hardcoded to that?
<taylanub>yes :( resulting Makefile has the same
<davexunit>replace it with the path to the output direct
<davexunit>(assoc-ref %outputs "out")
<davexunit>in your build script
<taylanub>ah, OK
<davexunit>or rather, outputs, not %outputs
<davexunit>you'd have some phase that does it
<taylanub>right, I have a lambda* that takes #:key outputs already
<davexunit>perfect
<davexunit>yeah
<jmd>Oh it is also missing guile-config
<tadni>Well, Linux-libre kernel panics now for me.
<tadni>Built my latest config, grabs a newer linux-libre me thinks -- and panics each time I boot.
<taylanub>ugh, Emacs mis-indents '(#:key1 val1 <newline> #:key2 ...), aligning key2 with val1.
<taylanub>anyone know a solution to this? I really like M-q :P
<davexunit>taylanub: unfortunately, no.
<davexunit>it gets that wrong
<davexunit>I just fix the indenting when I'm done writing code. I don't know how to fix it properly.
<taylanub>ok
<davexunit>emacs does that for any quoted list that spans more than 1 line.
<davexunit>'(1 2 3
<davexunit> 4 5 6)
<tadni>How would I go about not grabbing the latest Linux-libre in my current snapshot?
<tadni>Like is there a way to set a certain version via a config?
<davexunit>tadni: you'd have to define a new package that uses an older version.
<davexunit>(define tadnis-linux-libre
<davexunit> (package (inherit linux-libre)
<davexunit> (source ...)))
*tadni wonders if this is just on his end... he wouldn't think so, because he reinstalled the whole thing and tried again with this config.
<tadni>I mean, is there anything obviously offending here ... that might be causing it to bork? http://paste.lisp.org/display/144488
<tadni>Since it appears to be a proper kernel panic, I'd suspect not.
<taylanub>anyone spot something wrong with the regexp "^(prefix=[[:blank:]]*)/usr/local$" ?
<davexunit>kernel panic on boot? dmd is probably dying
<taylanub>with grep -E, and changing the "" to '', it matches the line I want.
<tadni>davexunit: So, it may in-fact be an issue with a service?
<taylanub>(the "" one is a string in Scheme code)
<davexunit>tadni: dbus-service may be the culprit.
<davexunit>try booting with only %base-services
<davexunit>and then start bisecting to find the bad one
<davexunit>oh, also, supplementary-groups is using unquotes
<davexunit>'("wheel","users","audio","video","dialout")
<davexunit>should be '("wheel" "users" "audio" "video" "dialout")
***mattl_ is now known as mattl
<tadni>davexunit: Nah, I disabled syslog-service, ntp-service, nscd-service, and udev-service and it boots now.
<tadni>Yah!
<tadni>Need to work through and see what's offending though.
<tadni>I "need" dbus, because Emacs won't boot graphically without it for me.
<davexunit>I use (dbus-service (list avahi))
<davexunit>but I copied that from civodul's config, I don't know why that works for me
<tadni>davexunit: And that works with Emacs for some reason?
<davexunit>yup
<tadni>Weird. I thought avahi was for DNS?
<davexunit>yeah, dunno.
<tadni>Maybe we just need a dbus instance to be running... and it can't have an empty argument?
<davexunit>I would like if dmd didn't die for this reason, though. we don't need a kernel panic due to a misconfigured service. :)
<davexunit>you could try passing it the empty list
<davexunit>(dbus-service '())
<tadni>davexunit: Okay, yeah, good idea. I'll be back in like 5 with said results.
<davexunit>cool
<taylanub>davexunit: are you sure (assoc-ref outputs "out") is right? it's /gnu/store/...; is there no temporary place where stuff is first installed in?
<davexunit>taylanub: nope, it's installed into the store directly.
<taylanub>ok
*davexunit wants to get nginx packaged, but having trouble with its strange configure script
<davexunit>it tells me that gcc is missing!
<davexunit>I also want to write service definitions for apache, mysql, and postgresql
<tadni>Uh.... very weird.
<tadni>GNU Distro is now trying to download/install Guix 0.7
<tadni>And possibly and older version of Linux-libre, need to check version log.
<tadni>Nah, okay. 3.17 is the latest kernel.
<tadni>Very weird though with Guix 0.7 though.
<tadni>Sans one of those 'thoughs'.
<davexunit>yes... not sure why it's doing that
<tadni>I'm going to let it download and install, and version check guix.
<tadni>Okay, there is a guix-0.7.drv for some reason in my store -- but no active directory for it.
<tadni>When I check my version, it still says 0.8, so I'm not sure what that's all about.
<tadni>But yeah, empty list "(dbus-service '())" seems to work. Emacs is booting and ready.
<taylanub>somehow, $ seems to break in substitute* regexps
<taylanub>$ means end of line, and needs no escaping in Scheme strings, right? I'm not going insane?
<tadni_>Do I need to activate some service for ssh?
<davexunit>(lsh-service #:initialize? #t)
<tadni_>davexunit: So we are currently more-or-less forced into lsh usage? :^P
<davexunit>you could write an openssh service :)
<davexunit>we have the package
*tadni_ needs to look into dmd in-general, probably.
<davexunit>I need to learn how to write service definitions soon.
<davexunit>I want to write some new services, and do some cool stuff with guix environment :)
<davexunit>like create a VM for developing a web app with all of the necessary services up and running like nginx + postgresql
<tadni_>davexunit: (unbound-variable #f "Unbound variable: ~S" (lsh-service) #f)
<tadni_>From the given lsh-service and arguments.
<davexunit>did you use the (gnu services ssh)
<davexunit>module
<tadni_>Ah, nah.
<taylanub>wow: (list-matches (make-regexp "foo$" regexp/extended) "foo\\n") => ()
<taylanub>the hell, Guile
<taylanub>didn't expect the bug to go that deep O_o or maybe that's somehow not a bug .. "foo\\n$" matches -_-
<tadni_>I fogot... what did I have to do, to get dejavu working?
<tadni_>In emacs*
<tadni_>Delete .fontsomething or another?
*tadni_ will brb.
<tadni_>I restarted my Emacs and automagically it reloaded with dejavu sans mono.
<jmd>Is there any way of avoiding the dependency on libgcrypt ?
<bavier`>jmd: guix's dependency on libgcrypt?
<jmd>yes
<bavier`>I think it's unavoidable.
<tadni_>civodul: Hola.
<civodul>hey!
<sneek>civodul, you have 2 messages.
<sneek>civodul, nkar says: I did get a password prompt, but only when I added 'cryptomount' to the config. remember, initrd is in the store, which is encrypted on my machine.
<sneek>civodul, nkar says: (boot-system) returns the greeting and the error: In procedure mount: device or resource busy
<civodul>nkar: cryptomount is a GRUB command, right?
<nkar>yes
<civodul>ok, the generated grub.cfg is clearly unable to handle that ATM
<civodul>so you need to add it by hand
<civodul>and then, once it booted, you entered the password, and...? :-)
<davexunit>oooh tadni_ mentioned fonts. I don't know how to get my system to recognize other fonts such that icecat and emacs can render nonlatin characters.
<nkar>civodul: got into the guile repl
<nkar>before that there was a warning about a non-existent device on /dev/mapper/main
<nkar>then I tried the (boot-system) thing that sneek just told you
<civodul>ok
*civodul scratches his head
<tadni_>Should guix.el ship with GNU Distro?
<civodul>we really need tests
<civodul>tadni_: Guix includes guix.el
<tadni_>civodul: Should Emacs be able to autodetect it, or do I manually have to set it?
<civodul>ATM you have to explicitly add it to 'load-path', etc.
<civodul>it you use the standalone system, it's in /run/current-system/profile/share/emacs/site-lisp
<civodul>*if
<civodul>nkar: what was the message about /dev/mapper/main?
<musicmatze>Hi
<civodul>hello!
<musicmatze>I have a question: Is Guix (the package manager) a source-to-source compiler for scheme-to-nix(lang) ?
<nkar>musicmatze: no
<civodul>musicmatze: it does not use the Nix language at all
<musicmatze>So why is guix "based on Nix"?
<civodul>it uses the same approach, and the same low-level code
<tadni`>musicmatze: It uses Nix's daemon.
<musicmatze>and the daemon has nothing to do with the nix language?
<nkar>civodul: I didn't have time to read the whole output. the error was basically "non-existent device on /dev/mapper/main"
<civodul>musicmatze: no, indeed
<nkar>musicmatze: it's a c++ program
<musicmatze>okay...
<musicmatze>why I ask: I'm heavily interested in the whole functional packagemanagement approach
<musicmatze>from my point of view, it's the only way "to do it right"
<musicmatze>and it seems that it works _really_ well.
<musicmatze>I'm reading a lot about nixos and I want to switch as soon as I have enough time for it.
<civodul>musicmatze: there are technical details in the Nix/Guix transition in the paper at http://gnu.org/s/guix/#documentation
<musicmatze>But then I read about Guix, and, well, I consider Scheme as way better language for this, as it is much simpler to learn IMHO. (You see, I'm just a User - I care about the interface I have to work with)
<musicmatze>Both NixOS and Guix have some advantages over eachother, and I'm currently trying to find a way to have the best of both worlds...
<musicmatze>that was the intend of my question...
<civodul>in theory Guix can use the Nix daemon
<nkar>civodul: can I do anything else that could give you more hints?
<civodul>in practice, the daemon calls out to helper programs that differ between Nix and Guix
<civodul>for "substitutes", notably
<musicmatze>okay
<tadni`>So I'm assumingly throw something like (load "/gnu/store/f9lfchw5z8hnz3rpcdr4gmqy1mcg47dn-guix-0.8/share/emacs/site-lisp/guix-autoloads.el") in my emacs init-file?
<civodul>tadni`: yes, and also add this directory to 'load-path'
<tadni`>It loads all the functions but says "Cannot open load file: No such file or directory, guix" when I try to run one.
<civodul>nkar: if you boot without --repl, then you get a REPL prompt after the device mapping error, right?
<civodul>tadni`: did you do (setq load-path (cons "/gnu/store/f9lfchw5z8hnz3rpcdr4gmqy1mcg47dn-guix-0.8/share/emacs/site-lisp" load-path)) ?
<nkar>civodul: yes
<tadni`>brb.
<civodul>nkar: then it would be useful if you could get the error message and backtrace there
<civodul>using ",error" and ",bt"
<nkar>,bt doesn't return anything
<civodul>ok
<nkar>I got kicked off the prompt and now see only the tail of some trace
<nkar>which means that I need to reboot. are there any other grub commands that I could try?
<nkar>do I need to include more modules, for instance?
<nkar>I only use 'insmode luks'
<nkar>insmod*
<nkar>and I cannot find anything describing what other modules are for
<civodul>you know the GRUB side better than me already :-)
<civodul>for now, i'm interested in understanding the initrd side
<nkar>which is unfortunate =)
<civodul>heh, indeed ;-)
<civodul>you got the GRUB side working, so i'm not concerned, we'll integrate what's needed
<civodul>we should keep track of that in a bug report
<nkar>I'm not sure it's a bug because the manual says nothing about encryption
<nkar>it's just me failing to configure my computer
<civodul>it's a bug, really
<nkar>so, would you like me to submit a report?
<civodul>yes; please make sure to mention what you added to grub.cfg
<civodul>so i can copy/paste it to (gnu system) :-)
<civodul>or you, even
<nkar>yeah, will do
<nkar>either today or tomorrow
<civodul>ok
<nkar>but probably tomorrow morning because I've spent too much time on this today
<nkar>thanks for all the suggestions!
<civodul>np
<civodul>thanks for persevering
<nkar>huh, mutual appreciation society :)
<taylanub>(the substitute* regexp thing wasn't a bug after all; sent a docstring patch to save future headaches...)
<jmd>Is there a way to get a staticly linked set of dependencies for guix?
<jmd>What is gpg actually used for?
<jmd>(in guix)
<civodul>jmd: "guix refresh", "guix import gnu"
<civodul>jmd: no; Guix relies on libgcrypt.so
*civodul replies in LIFO order
<jmd>It would however be useful if there was a way of bootstrapping it so that you could start off without.
<jmd>How lite is in fact, sqlite ?
<civodul>would be useful, yes
<civodul>how light, dunno
<jmd>I'm building it now...
<jmd>... I have to configure it with --disable-threadsafe
<civodul>you don't *have* to, you're free!
<civodul>"yoouu'lll beee freeee, ha-ckerrr!"
<jmd>Well I don't have to ... but then it fails to configure : (
<civodul>that's on the ARM box?
<jmd>yes
<civodul>alezost: it seems that M-x guix-pull no longer restarts the REPL, since the new 'guix pull'
<alezost>civodul: no longer? I changed nothing
<civodul>it might have to do with the fact that "guix pull" now enters a new module
<civodul>so *Guix REPL* ends up in the (build-self) module instead of (guile-user)
<jmd>civodul: Did you put that symlink in for pkg-config? I didn't see the commit.
<civodul>ah no, because i was waiting for Hydra feedback from my previous changes
<civodul>(in core-updates)
<jmd>ok
<civodul>i guess i can do it now
<civodul>alezost: do you mind if i put #:print-build-trace #f in 'set-build-options' calls, in guix-main.scm?
<civodul>to suppress the '@' lines, like "@ build-succeeded /gnu/store/h92fnbnai9y5mz7kqh98sfbrhz6kwk7i-gnupg-2.0.26.drv"
<alezost>civodul: sure, I didn't know about that
<alezost>civodul: I'll look into "guix pull" later
<civodul>ok!
<jmd>In file included from nix/libutil/gcrypt-hash.cc:21:0:
<jmd>./nix/libutil/gcrypt-hash.hh:23:20: fatal error: gcrypt.h: No such file or directory
<civodul>right
<jmd>yet gcrypt is in my CPATH
<civodul>and ./configure passed?
<jmd>... well I did force it ...
<jmd>Oh wait, it is not in CPATH, but I did pass it to CFLAGS in configure.
<civodul>ah ah!
<civodul>CPPFLAGS would be more appropriate
<jmd>You're right.
<civodul>oh i can actually do the pkg-config symlink in master
<jmd>Really? I thought it would cause everything to be rebuilt.
<jmd>Bed time.