IRC channel logs

2016-03-27.log

back to list of logs

<bullets>hey
<paroneayea>hi!
<bullets>I'm trying to install guixsd but
<bullets>when guix compiles the tests/store.sh fails
<bullets>and guix doesn't get built and nothing gets installed
<bullets>tests/store.scm
<bullets>so... I was sondering how I can work around this I'm just following the instructions on the manual
<jololo>Hey! I'm working on the installation and after running "guix system init ..." for the first time, was many megabytes through before I got a "guix system: error: build failed: ... usually happens due to networking issues try '--fallback'" Should that command be the same "guix system init" command with '--fallback' tagged on or another command with '--fallback'?
<jololo>first attempt at install from "http://www.gnu.org/software/guix/manual/html_node/System-Installation.html". Can't wait to install and try it out!
<bullets>jololo: in my experience, you can just try again (make sure you have a connection) with the same command
<jololo>bullets, thanks will do! pretty sure I have a connection. not very reliable one though...
<winner>hi
<bullets>yeah it happens with connection drops
***winner is now known as Guest79823
<Guest79823>Is it possible to burn Guix to a DVD? I cannot find any info on the website
<rain1>I don't think anyone has made an .iso
<rain1>it should be possible just don't know how
<Guest79823>ok
<ajgrf>lfam: trying it now
<bullets>or is there any way I can manually install this? like you do with gentoo and the like?
<OrangeShark>is there a way to get the hash of a git-fetch like you can with the guix download command?
<rain1>yeha it was explained here in the past, I took a note of it
<ajgrf>(1) git clone git://repo.git (2) cd ./repo (3) rm -rf .git/ (4) guix hash -r .
<OrangeShark>thanks ajgrf
<ajgrf>np
<bullets_>I guess I don't get to install guixsd
<bullets_>:(
<ajgrf>lfam: success! beets builds for me with those changes
<lfam>ajgrf: That's good!
***Igel_ is now known as Igel
***Basstard1 is now known as Basstard`
<str1ngs>this seems like a realy odd path. guix system: error: symlink: No such file or directory: "/mnt/usr/local/var/guix/gcroots/grub.cfg.new.new"
<str1ngs>its almost seems its using the gcroot for the locally installed guix
<str1ngs>I would think that should be /mnt/var/guix/gcroots/
<efraim>did you pass --localstatedir=/var to configure?
<str1ngs>nope
<str1ngs>also on a EFI system grub will fail if you are setting up a MSDOS partion
<str1ngs>I need to look into that one more
<str1ngs> /var is still something that I thing is hardcoded. and probalby should be
<str1ngs>think*
<str1ngs>sorry getting lag so typing is off
***kelsoo1 is now known as kelsoo
<civodul>Hello Guix!
<tg>hello/
<janneke>hi!
<civodul>ACTION updates NEWS, 2,200+ commits!
<jmarciano>I hope to get XMPP server in GuixSD, for communication... but we shall rather support the copyleft servers first.
<janneke>nice!
<davexunit>civodul: releasing today?
<civodul>davexunit: no, just preparing
<civodul>probably releasing Tuesday
<davexunit>okay, sounds good. :)
<civodul>we'll have time for these container fixes :-)
<davexunit>yay
<davexunit>you know what I'm after
<davexunit>civodul: it's proving *really* hard to replace that container test case.
<davexunit>PID 1 is a resilient thing.
<civodul>davexunit: that's because we cannot kill(2) it from the inside?
<davexunit>civodul: yes
<davexunit>PID 1 is unkillable
<davexunit>so, I thought, how about segfaulting a guile process by using the FFI and passing a null pointer to something?
<davexunit>but (dynamic-link) doesn't work in the bootstrap guile
<davexunit>so that's out the window
<davexunit>so I'm unsure how to kill PID 1 with a signal :)
<janneke>ACTION just cross-built mingw32 runtime/newlib from source
<nextstep>hi, now that firefox has a free license on their artwork and debian is switching will guix dump iceweasel too?
<jmarciano>icecat
<davexunit>nextstep: firefox doesn't conform to the free software distribution guidelines so we will continue to use icecat
<jmarciano>I was checking yesterday firefox logo copyrights, for one group, and there is no change. It is not "free", it is trademark that cannot be modified.
<nextstep>i see, to be fair i haven't looked into the details that made debian switch
<jmarciano>although they say logo is under CC-BY 3.0 license, they also say "it cannot be modified"
<jmarciano>but biggest issue is about references to non-free software
<janneke>now built fully from source:
<janneke>15:30:32 janneke@drakenvlieg:~/src/mingw-guix
<janneke>$ ./pre-inst-env guix build --keep-failed --target=i686-w64-mingw32 hello
<janneke>/gnu/store/3navdixqswab821j0lw3894j2mc2lcyj-hello-2.10
<janneke>15:30:41 janneke@drakenvlieg:~/src/mingw-guix
<janneke>$ ./pre-inst-env guix environment --ad-hoc wine -- wine /gnu/store/3navdixqswab821j0lw3894j2mc2lcyj-hello-2.10/bin/hello.exe
<janneke>Hello, world!
<janneke>
<rain1>that's amazing :)
<davexunit>janneke: that's awesome!
<jmd> When building I get a log of messages like: ;; note: source file /home/john/guix/gnu/packages/music.scm
<jmd>;;; newer than compiled /scratch/john/guix-debian/gnu/packages/music.go
<jmd>But it has changed everything to lower case.
<jmd>The directory should be /Scratch/john/.....
<janneke>davexunit: guix's build environment is *awesome*
<janneke>and our toolchain has improved a lot, the past decade
<rain1>How can I use a git checkout of guix on guixsd?
<rain1>just as my regular 'guix'
<rain1>I'm building it now with ./configure --localstatedir=/var
<janneke>rain1: put a symlink in ~/.config/guix/latest -> to-your-checkout
<janneke>$ l ~/.config/guix/
<janneke>totaal 0
<janneke>lrwxrwxrwx 1 janneke janneke 22 6 feb 21:06 latest -> /home/janneke/src/guix/
<janneke>
<rain1>~/.config/guix/latest already exists, should I delete or do you just symlink 'over' it?
<janneke>rain1: delete it, or move it aside
<rain1>oh it is already a symlink too
<rain1>hm I deon't think i did it right
<rain1>do I need to make install inside guix/?
<janneke>rain1 no, never instal
<jmd>rain1: Normally, yes.
<janneke>*install
<rain1>./configure --localstatedir=/var
<jmd>janneke: Huh?
<janneke>oh?
<rain1>thats all i did so far
<rain1>and make
<rain1> would I need a prefix?
<rain1> http://lpaste.net/500220396990103552
<rain1>I made the link but which guix points to the gnu store still
<rain1>I must be confused ^^
<rain1>I mean there's 2 things about it, the guix binary and the packages tree I guess
<rain1>maybe I've done the step for the packages tree right?
<rain1>but I don't know what to do about guix binary
<rain1>shall I just add it to my PATH?
<rain1>How will this interact with guix system reconfigure?
<rain1>oh that is very interesting
<rain1>gnome-terminal is much much better that xfce-terminal
<rain1>If you do guix package -u you can see information in gnome-terminal that does not show up at all in xfce
<rain1>janneke, jmd is install vs not install about guixsd vs guix on a different distro?
<rain1>I am on guixsd
<jmd>The Guix manual needs to be seriously improved.
<rain1>this is one little thing missing maybe :)
<jmd>When I do "guix challenge" how do I know if the challenge passed or failed?
<janneke>rain1: i never use make install
<janneke>you usually keep using your "old" guix binary
<rain1>janneke, do you use the built guix binary or just package tree?
<rain1>ahh
<rain1>that's not what I expected
<rain1>so there is no need to even build
<rain1>or configure
<rain1>we can just point to the git clone
<janneke>if you upgrade guix from the c3f29bc that you use now,
<janneke>you will rebuild the world
<janneke>yes, you do build...the "old" guix binary pick-up the new .scm and compiled .go files from your "latest" link
<rain1>oh alright! thanks
<civodul>davexunit: maybe we could do (pointer->string (make-pointer 123) 123)?
<ijp>boo
<civodul>hey, ijp
<civodul>welcome back! :-)
<ijp>I haven't meant to be away so long, but life and all that
<davexunit>oh my god
<Acou_Bass>hmm, im not complaining in the slightest, but, has hydra.gnu.org gotten faster? a few weeks ago i was struggling to reconfigure due to slow download speeds but now im flying through it :D
<davexunit>wasn't sure I'd ever see the day ijp returned
<rain1>that's odd
<rain1>I set a prefix and did make install, but none of the package tree is installed
<rain1>just guix guix-daemon and supporting things
<str1ngs>I'm not understanding con vs con* con only works on two objects? and con* will work on all the objects?
<rain1>I guess you means CONS
<davexunit>(cons* 1 2 3 '(4 5 6)) is equivalent to (cons 1 (cons 2 (cons 3 '(4 5 6))))
<rain1>you're right CONS takes 2 args
<davexunit>cons is the primitive pair constructor
<str1ngs>ok makes more sense now.
<str1ngs>I should probably do some guile primer or something.
<str1ngs>well this should get /home mounted :P
<rain1>if you just run guile in the terminal
<ng0>do we have a ninja-build-system ?
<rain1>you get a REPL and you can test out the examples davexunit showed
<ng0>grep for ninja only shows the package itself
***kyleschmidt1 is now known as kyleschmidt
<str1ngs>rain1: good tip thanks
<rain1>how do I reset this ~/.config/guix/latest ?
<ng0>is this correct if "license:" is the prefix and I need multiple licenses? (license '((license:vim) (license:asl2.0)))
<efraim>(license (list license:vim license:asl)) I think
<ng0>looks better. okay
<efraim>s/asl/asl2.0
<efraim>but yeah, with the word list
<jmarciano>when I finish viewing information in the postgresql database, with psql command, I get this information: =# select * from countries;
<jmarciano>/home/data1/protected/.guix-profile/bin/bash: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
<jmarciano>but I cannot find libtinfo in guix
<rain1>Is MAME packaged?
<rain1> http://mamedev.org/?p=422
<rain1>If not I might try to do this
<ng0>guix package -s mame
<ng0>it's not
<ng0>or: cd gnu/packages/ ; grep "mame" *
<janneke>why does guix [package|build?] sometimes say: ... will be build, ... will be downloaded and at other times just start building and you have no idea where it will stop?
<janneke>*be built
<jmarciano>who is maintainer of icecat?
<jmd>So how am I going to work this out? For me, a very recently build guix ignores the -K flag. Ludovic says that his doesn't. Is it the way I type or what?
<jmarciano>I found it
<Geza>Hi everybody!
<Geza>I was wondering how this project can be accessible to the wider public.
<ng0>can you specify what you mean?
<Geza>I see three areas where communication can be improved.
<Geza>First is tracking bugs.
<jmarciano>Geza: It is going to overwhelm the Internet... future ISP providers and software developers will be using GuixSD...
<Geza>I think mailing list is not the best for this task for many reasons. Have you thought of running a dedicated bug tracker?
<jmarciano>Those are 2 different communication channels. I like mailing list, to receive notices.
<jmarciano>and I don't develop it yet, I will be making packages when I learn how
<Geza>But how do you filter out notifications that you don't care about?
<jmarciano>mutt is the answer
<jmarciano>Geza: what do you use for emails?
<ng0>Geza: there is a recent discussion on guix-devel about using the software "patches" for tracking patches.
<jmarciano>let's say I want to read about Hydra in mutt, I press 'l' and type 'hydra', I get only those subjects
<Geza>I use the Gmail web application.
<rain1>Geza,
<rain1> https://debbugs.gnu.org/cgi/pkgreport.cgi?package=guix;max-bugs=100;base-order=1;bug-rev=1
<ng0>which other 2 parts do you see
<jmarciano>I don't use Gmail, it is not free software.
<Geza>The other day I wanted to report a bug, but I did not want to register for a mailing list only for reporting one thing. And getting tons of email afterwards.
<ng0>you don't have to register to submit a bug
<jmarciano>Geza: I have dedicated bug email address for that...
<jmarciano>the feature one gets without Gmail...
<Geza>That's your choice...
<rain1>I put a filter to organize mail into folders
<Geza>How do you assign priority or status to tasks?
<jmarciano>rain1: I use Courier MTA, it has sqwebmail built-in, LibreJS compatible, GnuPG included.
<Geza>Well, I don't like to maintain filters manually.
<Geza>I found a nice open source application which could come handy for handling bugs or taks. You should take a look at http://phabricator.org/
<rain1>Geza, did you see my link
<Geza>That's not bad, but seems basic to me.
<rain1>ok
<rain1>how do I list gc roots?
<rain1>I guess I should just run a find command on /var/guix/gcroots/
<rain1>what I really want is to list installed packages that I can -r
<rain1>stuff I don't need anymore, to free up space
<jmarciano>rain1: don't you use emacs?
<rain1>yes
<civodul>Geza: all our mailing lists are subscription-free
<jmarciano>I do: guix-installed-packages... then you can easily remove, upgrade...
<civodul>(as in "freedom")
<rain1>wonder what module-import is..
<jmarciano>civodul: you mean, people can send emails to mailing list without being confirmed as member of the list?
<Geza>civodul: That's good, so I just have to send an email. How would I track my reported bug then?
<Geza>By using a bug tracker it's just takes one click to subscribe.
<rain1>How is guix in terms of reproducible builds?
<civodul>Geza: this *is* a bug tracker, and it takes zero clicks to subscribe! :-)
<civodul>(really)
<civodul>ACTION goes afk for a while
<janneke>rain1: pretty close
<Geza>That's fine.
<rain1>warning: collision encountered
<rain1>warning: arbitrarily choosing
<rain1>using this, someone can make a package that swaps out a core library of e.g. GPG - rendering it insecure 50% of the time?
<rain1>What is /gnu/store/x64cc332jhpswyms2agsrgw1mz4fc8l4-module-import ?
<janneke>ACTION goes away to test civodul's usb stick
<rain1>I made a proof on concept that replaces the GNU hello manpage - I am sure you can do nasty things with this like replace a key ssl library with insecure code
<jmarciano>rain1: yes how?
<jmarciano>do you keep the same hash, sums, like original?
<rain1>it's just that guix has to pick one
<rain1>so any package can replace any file in the gnu store
<davexunit>rain1: no, that's not true.
<davexunit>the store is immutable
<davexunit>nothing can replace anything
<davexunit>no build process controlled by the guix daemon, anyway. (the root user could trash /gnu/store if they wanted, because they are root, of course.)
<rain1>I should say "shadow" to be clearer, thank you
<davexunit>profile conflicts do not pose a security risk
<davexunit>civodul: fixed the container test with the FFI abuse that you suggested.
<davexunit>civodul: OK to push? :)
<efraim>`guix import pypi GitPython` has some interesting choices for inputs
<jmarciano>how to make "portable" scripts, because shebang lines are not profile-based rather
<wingo>jmarciano: sadly there is no way.
<rekado>jmarciano: you can use "#!/usr/bin/env bash" and link a bash to /usr/bin/env.
<davexunit>shebangs just aren't portable
<davexunit>which sucks
<davexunit>/usr/bin/env is a hack that is only "portable" for things conforming to the FHS
<rain1>can you create a guix environment where the regular #! works?
<rekado>rain1: sure.
<rain1>how is it done? I would like to keep a script for that
<rekado>jmarciano: using "#!/usr/bin/env bash" is often just good enough. If you need more guarantees you better package up your scripts like any other serious application.
<davexunit>rain1: I've made guix environment containers where I did the following
<davexunit>mkdir -p /usr/bin && ln -s $(which env) /usr/bin/env
<davexunit>I needed this because I sometimes a hybrid of Guix + a Ruby dependency manager called Bundler
<rain1>thanks!
<rain1>$ guix environment guix -- "mkdir -p /usr/bin && ln -s $(which env) /usr/bin/env"
<rain1>In execvp of mkdir -p /usr/bin && ln -s /run/current-system/profile/bin/env /usr/bin/env: No such file or directory
<rain1>what am I doing wrong?
<rekado>why do you do "guix environment guix"?
<rain1>what should I do?
<rain1>oh
<rain1>because the guix environment has some stuff already which is often useful
<rekado>looks like it tries to execute that whole string.
<davexunit>yeah that's wrong
<davexunit>'guix environment' isn't a bash shell
<rekado>hmm, pyopenssl fails two tests on hydra.
<davexunit>it's going to run 'mkdir' with the arguments: -p /usr/bin && ln -s $(which env)
<rekado>(and on my machine)
<Acou_Bass>slightly dumb question here - im starting work on a new windowmaker package (never made a guix package before) - i did guix environment windowmaker then guix edit windowmaker however emacs is telling me the .scm file is read-only? am i supposed to do this as root? XD
<rain1>well I was just trying to get it to work
<jmarciano>rekado: that implies there is /usr/bin/env but packages are in /gnu/store and not in /usr/bin/env
<rain1>I don't know the correct command
<davexunit>Acou_Bass: 'guix edit' opens the file that the object was defined in. if you are not developing guix, then it will likly be defined within a file in /gnu/store, which is read-only
<davexunit>this is what happened to you.
<Acou_Bass>ahh right, i thought thats what guix environment was for
<Acou_Bass>:P
<davexunit>no
<davexunit>well, partly.
<davexunit>but what you are doing doesn't work
<Acou_Bass>alrighty
<davexunit>what you created was an environment that has all the dependencies for building windowmaker
<davexunit>but you want to build windowmaker with 'guix build', not manually
<Acou_Bass>is there a 'noobs guide to your first guix package' anywhere? the wiki didnt provide me much
<rain1>what wiki?
<Acou_Bass>errm, manual* :P
<davexunit>if you have a guix git checkout, which you need for developing, then you need to prefix commands with ./pre-inst-env
<rain1> https://gitlab.com/rain1/guix-wiki/wikis/Packaging
<davexunit>Acou_Bass: what doesn't the manual contain that you were looking for? we have a lot of information about packaging there.
<Acou_Bass>im probably reading the wrong spot then
<davexunit> https://gnu.org/software/guix/manual/html_node/Defining-Packages.html#Defining-Packages
<davexunit> https://gnu.org/software/guix/manual/html_node/Packaging-Guidelines.html#Packaging-Guidelines
<civodul>davexunit: re FFI hack, sure, go ahead! :-)
<davexunit>civodul: thanks
<Acou_Bass>davexunit: none of those mention anything about checking out the git and doing the pre-inst-env bit ;p
<davexunit>Acou_Bass: https://gnu.org/software/guix/manual/html_node/Contributing.html#Contributing
<rain1>Acou_Bass, did you catch my link
<davexunit>all of these sections can be found by looking at the table of contents https://gnu.org/software/guix/manual/html_node/index.html
<Acou_Bass>rain1: yepp i did :D thanks (and thanks to davexunit too - i hadnt found some of these, told ya im lookin gin the wrong spot)
<rain1>davexunit, how do I use that line you showed?
<rain1><davexunit> mkdir -p /usr/bin && ln -s $(which env) /usr/bin/env
<Acou_Bass>ill get working on this more tomorrow
<davexunit>rain1: guix environment whatever
<davexunit>then in the shell
<davexunit>run that
<rain1>oh okay cool thanks
<rain1>no it doesn't work
<rain1>mkdir: cannot create directory ‘/usr’: Permission denied
<rekado>jmarciano: as I wrote you'd link your "env" binary to /usr/bin/env.
<rekado>jmarciano: in general you shouldn't use paths to store items directly.
<rekado>jmarciano: when you use random store items it may well be that they disappear in the future by garbage collection.
<rekado>only link to stuff that has been installed into profiles
<jmarciano>I am not yet on GuixSD, I did not know I can link then, but yes, if I can link like that, it is good.
<jmarciano>maybe that becomes standard practice of future GuixSD users, there should be package for such linking, that also links like that become functional.
<jmarciano>Once I have PostgreSQL, IceWM, ROX, all required modules, encrypted /tmp /home swap, I am switching. Right now I cannot break the communication with too many people, my system is sending them emails from PostgreSQL.
<davexunit>rain1: my suggestion applies only to containers
<davexunit>given that you got permission denied, you are not using a container.
<davexunit>only root can alter the root file system like that
<rain1>oh I was just doing the command you said
<davexunit>looks like I forgot the --container flag
<davexunit>use that
<rain1>thanks i'll try!
<davexunit>thought it was obvious since we were talking about containers
<rain1>ah great it worked there, ithis is going to be very useful! :D
<rain1>I'm surprised about this --container flag: when I ls it's like its my normal machine -- on the inside it has /usr (since we made it) but from the outside ‘/usr’ is not there!
<rain1>is it making some kind of read only view of the file system or what is going on there?
<davexunit>rain1: it's a separate, temporary file system
<rain1>interesting!
<davexunit>in new "mount namespace"
<rain1>does it just vanish after? I wonder if there's a way to copy a file out
<davexunit>which we choot into
<davexunit>rain1: see the --share and --expose flags
<rain1>this is really cool!
<davexunit>by default, 'guix environment' shares the current working directory
<rain1>ahh
<davexunit>whatever you don't share from the host will only be temporary
<davexunit>glad you like it :)
<rain1>seems like you could set the share to be the compile prefix, and get all your build output there
<rain1>is that sort of what guix build does?
<davexunit>guix build also creates a container, yes.
<davexunit>the environments are similar, but not identical
<davexunit>everyone: I just pushed a commit that fixes the C-c issue with 'guix environment'
<civodul>\\o/
<davexunit>it passes our test suite, but do let me know if it causes you trouble
<davexunit>since I had to change calls to 'system*' to calls to 'execlp'
<davexunit>it should be fine. everything I use 'guix environment' for continues to work.
<davexunit>ACTION goes afk
<rain1>I have a packaging question
<rain1>I'm trying ot use trivial build system
<rain1>(chdir (assoc-ref %build-inputs "source"))
<rain1>it dies on this line with "ERROR: In procedure chdir: Not a directory"
<lfam>rain1: "source" is probably a tarball
<rain1>oh i have to unzip it!
<rain1>thanks I understand what to do now
<lfam>:)