IRC channel logs


back to list of logs

<atgnag>Is it possible to install and use guix as a non-root user?
<oblo>i think you need root to install it, no root for use
<atgnag>[root@johnny ~]# guix archive --authorize < ~root/.guix-profile/share/guix/
<atgnag>warning: failed to install locale: Invalid argument
<atgnag>Umm… that's from the manual, but it didn't work.
<davexunit>atgnag: that's just a warning. what isn't working?
<atgnag>Oh… good point.
<davexunit>atgnag: that can be solved by installing the necesary locales package and setting LOCPATH, but that can be done later.
<atgnag>davexunit: Where should LOCPATH be set?
<atgnag>Is that in the manual?
<atgnag>Oh nevermind, it's in 2.6.
<davexunit>oh cool it is in the manual :)
<davexunit>wasn't sure
<davexunit>there are the glibc-locales and glib-utf8-locales that provide the locale data.
<atgnag>Is it possible to use a download accelerator/manager such as aria2? My network isn't that fast, and connections are frequently interrupted.
<davexunit>I have never used that.
<davexunit>so, I dunno!
<davexunit>that would be a good question for the mailing list.
<atgnag>Well, I'll look in the manual first.
<davexunit>it sounds like something that we should be able to support somehow, but I am rather ignorant about the subject.
<atgnag>davexunit: Arch linux has something similar to what I want for pacman.
<atgnag>It users the XferCommand variable.
<atgnag>Mine looks like this.
<atgnag>XferCommand = /usr/bin/aria2c --allow-overwrite=true -c --file-allocation=none --log-level=error -m2 -x8 --max-file-not-found=5 -k5M --no-conf -Rtrue --summary-interval=60 --timeout 600 -d / -o %o %u
<davexunit>Guix uses an http(s) client library for downloads
<davexunit>so shelling out to an external command seems undesirable.
<atgnag>Well, I don't really need it, as long as it can resume downloads.
<davexunit>there's no download resuming.
<atgnag>Well, that sucks.
<davexunit>since the downloads happen in a container, and if the download fails then that "derivation" has failed and must be started over. would be best to find a way to integrate an external proxy.
<davexunit>things are atomic in guix, either they succeed or fail, there's no "resume this broken thing that I tweaked and should work now"
<davexunit>I know other people have asked about proxy support and since I don't work on that part of the codebase I don't know what work has been done on it.
<atgnag>Could I probably download download packages onto an external thumbdrive on a faster computer, and then install from there?
<davexunit>yes, you could import binaries via the 'guix archive --import' tool if you had another machine that runs guix to fetch everything first.
<davexunit>it's important to note that you are not downloading packages, but build artifacts.
<davexunit>you already have the package recipes in the form of source code.
<atgnag>Is there somewhere that it's outlined how to do this?
<davexunit>I don't know what you're network setup is like, but if you can reliably download the binaries on one machine and then move that machine to the same LAN as the slow machine, you could use 'guix publish'.
<davexunit>atgnag: I don't think we have much on this. this is a very uncommon thing.
<atgnag>Not the same lan.
<davexunit>here's the docs about 'guix publish':
<davexunit>atgnag: okay
<davexunit>well I guess the real solution is to have guix talk to a proxy server that can do whatever bandwidth saving, download resuming things that you need to do.
<davexunit>and for help with that I would write to the guix-devel mailing list
<atgnag>Here's what it's like. I generate a list of urls to download on my local machine, and then I ssh into a different machine to create a tarball. I then upload that tarball to google drive, or anyplace else, and then download it from my work computer. I then install on the local machine.
<atgnag>All right.
<davexunit>I think you'd want to 'guix build package1 package2 ...' on the fast machine
<davexunit>then 'guix archive --export --recursive package1 package2 ...'
<davexunit>save that output to a file, upload it somewhere
<davexunit>download it on the slow machine
<davexunit>then use 'guix archive --import' to bring it all in
<davexunit>these are rough steps. I haven't actually been through this process before.
<davexunit>but that should get you on the right track
<atgnag>I understand. I'll play with it and see if I can make it work.
<atgnag>But yeah, I understand my needs are pretty specific.
<davexunit>atgnag: I would still let the mailing list know about your use-case
<davexunit>it sounds like something that we should be able to support in a generic way.
<atgnag>I didn't quite understand what you said earlier though. Why does guix need to download things itself?
<davexunit>shelling out isn't a good practice if it can be avoided. Guile comes with an http client, and gnutls provides guile bindings for its https client, so we take advantage of those.
<davexunit>much like how people use libcurl and things.
<atgnag>I guess that makes some sense.
<atgnag>It still feels little like re-inventing the wheel though.
<davexunit>it's not.
<atgnag>Do you thinking showing a file size and an ETA is a reasonable feature request?
<davexunit>actually, someone just proposed a patch that does this recently.
<atgnag>Great. I hope it gets merged.
<atgnag>This keeps happening.
<davexunit>looks like your downloads are getting corrupted
<davexunit>I'm downloading that archive right now to see if it happens to me
<davexunit>our build farm can be quite slow at times. we're in need of more hardware resources to meet demand.
<atgnag>I noticed a different amount of bytes were downloaded before the error every time.
<davexunit>sounds like a network connection issue
<davexunit>glib-locales is a very large package
<davexunit>since it has all the locales in it. I use the glibc-utf8-locales package which is much smaller but has a limited selection of locales
<davexunit>yeah, I installed that without troubles.
<davexunit>seems like a networking issue on your end.
<atgnag>All right.
<davexunit>the company I work released a small Ruby tool under the GPLv3 last week, and I've written a Guix package for it that can be used to instantiate development environments and build development snapshots.
<davexunit>dmd mentioned in a blog post:
<civodul>Hello Guix!
<amz3>well, my comment about gnunet based wiki is misleading I think
<amz3>I'd rather do the thing instead of talking about it
<amz3>(if I can...)
<remi`bd>would be a good idea to code it in Guile
<remi`bd>but I don’t know if a wiki though GNUnet is easily doable
<amz3>maybe using a github like model
<amz3>with Pull Requests
<amz3>people fork a "channel" and then they do PRs which can be accepted automatically given credentials or if it does not break anything
<amz3>ie. data has the expected format
<amz3>well, this is kind of a monopolistic model
<remi`bd>you/we should talk about that idea on #gnunet
<amz3>nah, not yet, I need something to show them, right now I have nothing. I did not even study the guile bindings yet...
<remi`bd>well, the bindings interface isn’t stable enough to be documented yet
<remi`bd>but it will, in a near future
<civodul>i think GNUnet has no shortage of ideas ;-)
<taylanub>civodul: off-topic: are you interested in R7RS-large at all?
<civodul>taylanub: not really, i'm afraid :-/
<civodul>but really i just haven't taken the time to look at it
<civodul>ACTION feels like the typical old schemer who's lost faith in Scheme standards
<civodul>scary, in a way :-)
<taylanub>I might turn into that too soon. at least then I'll concentrate purely on Guile/Guix :P
<taylanub>for the time being I'm attempting to drag R7RS-large into a better direction but have no idea if I'm doing it right. we'll see.
<rekado_>rb-inotify needs jeweler to build the gem from the Rakefile, but the git repo also comes with a .gemspec file.
<rekado_>I don't want to package jeweler and its many dependencies first.
<rekado_>I wonder if I can use the ruby-build-system with a git repository containing a gemspec file. Just skip the 'unpack phase?
<civodul>rekado_: you should ask davexunit :-)
<civodul>howdy, davexunit!
<davexunit>hey civodul
<davexunit>what's up?
<civodul>ruby things!
<Steap>davexunit: how did you end up doing Ruby programming ?
<Steap>You seem to hate that :)
<davexunit>Steap: a lot of web development places use Ruby.
<davexunit>therefore, I write lots of Ruby.
<davexunit>and JavaScript.
<Steap>oh, you do Rails
<Steap>I see
<Steap>and JS
<Steap>that must be hard.
<rekado_>for an institute conference retreat I just made a poster about Guix.
<rekado_>it's pink.
<davexunit>Steap: it's hard to use any language that isn't Scheme ;)
<civodul>rekado_: can you show it? :-)
<rekado_>Here it is:
<rekado_>just for internal use, so I was asked to make it drop more bioinfo references than what seemed in good taste.
<rekado_>s/to make it drop/to include/
<davexunit>rekado_: awesome!
<rekado_>ACTION still recovers from the Romanian schnaps he just drank...
<davexunit>rekado_: I'm impressed with how well you've distilled the essence of Guix into a poster
<davexunit>it would be really nice to have such an "infographic" to show publicly
<davexunit>the tl;dr about Guix
<Steap>ACTION might want to reuse some of that for his PyConFR talk
<davexunit>I need to find places in Boston to talk about Guix
<davexunit>but I never hear about things until it's too late
<rekado_>I can upload the inkscape sources as well.
<davexunit>DevOps Days Boston is happening in about a week, and I can't even attend because it's sold out.
<rekado_>it's licensed CC-BY-SA, so go wild! Inkscape sources:
<rekado_>you may need to download this font:
<davexunit>rekado_: thanks!
<rekado_>the sans font is just whatever is the default on my system.
<rekado_>(bonus feature: some of the hashes in the profile example spell out names)
<Steap>davexunit: do you believe in "devops" ?
<civodul>mark_weaver: i found the fix for
<civodul>mark_weaver: it's
<civodul>rekado_: sudo could you make a PDF please? :-)
<civodul>rekado_: this is pretty!
<davexunit>Steap: no, but it's the work I find myself doing.
<davexunit>and Guix has a really good story for "devops"
<davexunit>especially once we have an orchestration tool a la NixOps
<Steap>davexunit: yeah
<Steap>I kind of like the "devs and sysadmins" paradigm
<civodul>rekado_: and it has all the useful info, very well done
<Steap>mostly because I suck at sysadmin stuff
<davexunit>Steap: you can summarize my work on Guix with this new marketing phrase: "From development to production, with Guix!"
<davexunit>Guix can unify the whole flow.
<Steap>The boss will love it !
<rekado_>civodul, davexunit: thanks :)
<civodul>davexunit: ha ha :-)
***davi_ is now known as Guest64984
<benben962>Hi everyone :)
<davexunit>benben962: hello!
<benben962>I'm trying to install GNU/GuixSD right now and I don't know the locale for French language (I've tried several ones but each one failed when using the guix system init command
<davexunit>civodul: ^ ?
<civodul>benben962: it's called "fr_FR.utf8"
<benben962>Ok, thank you :) I'm trying it then :)
<civodul>davexunit: what's up with this link? ;-)
<davexunit>civodul: thought it was interesting
<benben962>Another problem : it appears there is no resolv.conf in /etc
<civodul>benben962: that file is typically created by 'dhclient'
<benben962>I remember setting up my network using wired connection && dhclient
<benben962>Do you think re-setting it up will fix it ?
<civodul>hmm no
<civodul>did 'dhclient' appear to succeed?
<civodul>normally it creates that file upon success
<civodul>the sequence is like: ifconfig eno1 up && dhclient -v eno1
<benben962>Sorry, I had a network problem
<benben962>Well, I don't remember dhclient succeeding, I remember it telling me about IPv6 but not dhclient
<civodul>could you try: ifconfig eno1 up && dhclient -v eno1 ?
<civodul>i assume you're running the installation image, right?
<benben962>Yes I am
<benben962>I have to replace eno1 with the right interface right ?
<benben962>Should I use a pastebin or something to give you the output ?
<civodul>benben962: yes, like
<amz3>benben962: did you do `ifconfig enp3s0 up` ?
<amz3>it says network is down
<civodul>benben962: so what you pasted is the output of "ifconfig enp3s0 up && dhclient -v enp3s0"?
<civodul>sounds fishy
<benben962>Nevermind, I scrolled the history, there was a typo :p
<benben962>I had typed ifconfig enp3s0
<civodul>ah ok
<civodul>ACTION has to go
<benben962>Sorry ^^
<amz3>go ahead benben962, I happen to be doing the installation myself
<amz3>also they are other knowledgeable people
<benben962>Thank you :)
<amz3>héhé installation is running :)
<lfam>So, does anyone have strong opinions on how long is too long for a build-time test suite? I'm packaging lz4 and you can really go nuts with the tests. One of them even requires valgrind.
<lfam>On my quad-core i5 with 8 GB of RAM I can spend over 30 minutes on tests
<benben962>I have an error now after an hour of installation...
<benben962>error: failed to evaluate directive: (directory "/var/lock" 0 0)
<davexunit>benben962: can you paste the full backtrace?
<benben962>Sure !
<benben962>I included the two lines preceding the error messages
<davexunit>benben962: did the directory you were installing to already have files in it?
<benben962>I don't think so : I used gparted to delete the former partition then I added a new partition. Then I mounted it and found out /etc was already there when I wanted to copy config.scm... Isn't it normal ?
<benben962>* /mnt/etc
<benben962>* parted
<davexunit>it's not normal for a newly created partition to already have files on it, no.
<benben962>Okay... How do I proceed then ?
<davexunit>remove all files from the root directory and run the installation again.
<benben962>Okay, thank you :)
<davexunit>that's the only I can think of that would cause the error
<davexunit>if things still fail after an install, I would send a bigger chunk of the install log to the mailing list and hopefully someone will have an idea
<benben962>Installation began, I'll do a feedback in an hour or two...
<davexunit>benben962: okay. since you've already installed once, it shouldn't take long this time around
<davexunit>ah nvm, you had to clear out everything
<alternatif>How can i resolve the "waiting for root to appear"?
<davexunit>alternatif: is this when booting?
<alternatif>davexunit: I've just installed GuixSD, i get it when booting i don't know if its a dmd or grub message, grub seems to load the kernel from the root partition? I don't understand that.
<davexunit>the kernel is in /gnu/store somewhere, yeah.
<davexunit>alternatif: can you post your OS config?
<davexunit>on for instance
<davexunit>I don't know if I can help
<alezost>alternatif: it may be that you need a kernel module for your HDD: see <>
<davexunit>alezost: thanks for jumping in
<davexunit>I don't know how to debug a lot of these boot failures
<alezost>I know about this one just because I faced it
<alternatif>davexunit: I use the same bare-bone config from the usb image. Is there a way to use the vanilla kernel?
<davexunit>alternatif: we do not provide a package for that.
<davexunit>Linux contains proprietary firmware blobs that linux-libre removes.
<alternatif>I will compile the vanilla kernel from git and directly configure grub to use it and see if its about proprietary stuff.
<davexunit>I highly doubt that
<davexunit>but maybe
<alezost>alternatif: if you have the problem I think, then it's not about propriatary stuff – all you need is to specify a module for your HDD
<davexunit>^ yes, that seems much more likely
<davexunit>I've never heard of a disk needing proprietary firmware loaded onto it by the kernel in order to work
<alezost>alternatif: also I think you couldn't configure grub for another kernel and use it to boot GuixSD
<alternatif>davexunit: I've never heard that too, seems weird, i will look for what module my hdd needs.
<alezost>alternatif: I found it with "lsmod | grep ata"
<davexunit>alternatif: once you find it, let us know. I don't think future users should run into this issue.
<alternatif>davexunit: Sure, be right back.
<alezost>yeah, I remember 3 people (not counting me) complaining about this problem
<civodul>sprang: that progress bar is neat!
<civodul>ouch, sourceforge again
<civodul>go to in your browser
<civodul>note that it returns 200
<amz3>«cool URIs don't change»...
<civodul>the problem here is that SF is squatting the URL
<benben962>So here is my feedback : GuixSD running well on my (not that) old laptop :)
<rekado>Installing GuixSD on a third laptop now.
<rekado>alternatif: is your root inside LVM? Or is it encrypted?
<davexunit>rekado: wow :)
<davexunit>benben962: congrats :)
<benben962>Thank you :) And thank you for your help
<benben962>I guess I'll have to disconnect now :) I have to wake up early tomorrow ^_^
<benben962>Good night everyone :)
<rekado>I have GuixSD on three laptops: my primary machine, one dedicated to music production, and now a third for my partner. Enough to keep my motivation up to package more software.
<davexunit>rekado: you're a packaging machine!
<rekado>ACTION squeeks. Needs oil.
<davexunit>the new download progress bar is awesome
<civodul>rekado: woow, i'm still contemplating switching my partner's laptop to GuixSD :-)
<civodul>it runs GNOME 3 now, though i guess Xfce would be okay
<davexunit>just wait a bit for GNOME :)
<davexunit>gotta go! happy hacking, all!
<civodul>sneek: later tell davexunit <-- kinda like 'guix container' (not as good, though)
<sneek>Will do.
<alternatif>rekado: No LVM or encryption, i have a separate boot partition.
<sprang>civodul: thanks, glad you like it!
<sprang>it would be ideal if we could get a download size when using substitutes
<sprang>I think I read somewhere that the nars are generated on the fly or something, which precludes reporting a size?
<civodul>sprang: yes, exactly
<civodul>however, since we use nginx, there might be a way to instruct it to add a content-length header
<civodul>i tried to do that a while back but failed