IRC channel logs
2015-03-19.log
back to list of logs
<afleck>the manual told me to come here and share my success :) <afleck>davexunit: thanks. should I install all packages as non-root? <davexunit>only install things as root that you want in root's package profile. <davexunit>i.e. things that are useful to you when running as root. <afleck>i see that xfce4 is a package module in guix <afleck>how do i install all the packages defined in a module? <afleck>or do i have to do e.g. thunar, xfce-terminal one by one <davexunit>well, we have an 'xfce4' package that includes everything. <davexunit>but just so you know, it would be possible to install every package in a guile module with a little of scheme code. <afleck>guix package -i xfce4 says xfce4 isn't found <davexunit>to search for everything matching 'xfce', do 'guix package -A xfce' <afleck>okay. guix pacakge -i xfce is also a not found <afleck>but i can see all the packages listed <afleck>haha i figured. Is there a dmd/deco command to list all available services? <afleck>can i run dmd as a user? I'm having issues <afleck>no such file or directory $HOME/.dmd.d/run <davexunit>you wouldn't typically run dmd, it's already running as PID 1 <davexunit>note that deco is an admin tool, so you must be root. <davexunit>I've heard about some people using another dmd process for managing user services. <afleck>hopefully i'll get to that level eventually :-P <afleck>so is there anything special i have to do to get slim to see xfce4? <afleck>or should i not bother with slim and just use xinit <davexunit>oh, I should've mentioned: add xfce as a system package, not a package in your profile. <afleck>and system package = installing as root? <afleck>do i then do guix reconfigure as root or user? <davexunit>and run 'guix system reconfigure your-os.scm' as root <davexunit>it alters the root file system, so it's a task for the root user. <afleck>is the correct place to add xfce in the (use-package-modules ...) line? <davexunit>that will include the guile module that contains the xfce package recipes <davexunit>but you also need to add the 'xfce' object to 'packages' in the 'operating-system' declaration <afleck>(unbound variable #f "Unbound variable: ~S" (use-service-modules) #f) <davexunit>the 'guix pull' you did as your unprivileged user updated guix for yourself only. <davexunit>each user has the freedom to use their own guix build. <afleck>which guix is /run/current-system/profile/bin/guix <davexunit>which doesn't have the 'use-service-modules' macro <davexunit>are you using sudo? something isn't right with your $PATH <davexunit>I haven't used GuixSD long enough to know exactly why this is wrong <afleck>/run/setuid-programs:/run/current-system/profile/sbin:/root/.guix-profile/bin:/run/current-system/profile/bin <afleck>didn't work. my date is wrong, could that be it? <afleck>ok, guix pull complains about timestamps being in the future <davexunit>anyway, could you add '(use-modules (gnu))' to the top of your OS config file and try again <afleck>i'm just going to try to fix it tomorrow <davexunit>it's probably something silly, but I just can't think of it right now. <rekado>when I want to build, say, lilypond guix freezes after outputing this message: "waiting for locks or build slots..." <rekado>I get this same message when I do ./pre-inst-env guix build gtkmm-2.24.2 <rekado>never mind. Must have been a stuck CPU. Rebooted. Now it's fine. <rekado>building solfege (again) I get an encoding error in phase "patch-python-shebangs". <rekado>the file it complains about is "solfege-3.22.2/solfege/dataparser.py: Python script, ISO-8859 text executable" <rekado_>When I share a /gnu/store among many different workstations with different CPUs and the store contains a build of ATLAS which tunes itself to the CPU --- will this lead to problems? <rekado_>I suppose in this case I should be forcing the lowest common denominator during the ATLAS build. <rekado_>If I manipulated the atlas package, however, I would have to recompile all packages depending on it. <rekado_>without having thought much about this it might be nice if local building was not forced at all --- if substitutes are used the package could be substituted with a version built for the lowest common denominator CPU. <Sleep_Walker>I didn't check the CFLAGS or similar, but I assume that this is already fixed as the project aims to reproducibility <Sleep_Walker>so you'll have some generic build time configuration options <Sleep_Walker>but you may have runtime checks with different code paths leading to code optimized for CPUs <rekado_>atlas has this argument flag: #:substitutable? #f <rekado_>this means that substitutes are never used and the package is always built locally. <rekado_>I might be able to cheat the CPU detection mechanism on the build host (e.g. by building in a virtual machine with a virtual CPU lacking features) to generate an ATLAS package that can be used on any machine sharing the store. <rekado_>I wonder: does the "substitutable?" flag affect all dependencies? Does it force a local build of any dependent package as well? <Sleep_Walker>I'm fighting with packaging the_silver_searcher - for some reason PKG_CHECK_MODULE in configure.ac is not expanded and gets to configure <Sleep_Walker>hm, `autoconf -I /gnu/store/…-pkg-config-0.28/share/aclocal' works as workaround *davexunit really wants 'guix environment' to be able to spawn VMs <davexunit>it would make reproducing this SDL OpenGL context issue easier <civodul>davexunit: in the meantime, to reproduce the issue, maybe you can use 'guix system vm' and then 'guix environment' in there? <civodul>not very convenient, i admit, but a good first step <davexunit>had to leave the house this morning before the vm built <davexunit>in the meantime, I've been pondering how to make a pleasant interface for system creation in 'guix environment' <davexunit>haven't come up with anything good thus far. <civodul>"system creation", as in full VM/container? <davexunit>and hopefully in the future "create an environment in this container" <davexunit>my use case is for developing applications that require particular system services to be running like a web server and database. <davexunit>where simply having all of the dependencies needed to build isn't enough to get the software to run. <davexunit>that's the dream, anyway. 'guix environment' could then be used as a vagrant replacement, more or less. <civodul>i wonder how vagrant files specify the requirements in terms of system services etc. <davexunit>civodul: it seems that it's left up to the developer to do via a script <davexunit>yeah, we'd have the advantage of using system configuration to specify which services to run and their config files <davexunit>the basic workflow for vagrant is writing a Vagrantfile, running 'vagrant up' to start the VM, and 'vagrant ssh' to connect to it. <davexunit>maybe this would be a totally separate guix tool, I dunno. <davexunit>but to me it feels like a natural extension of 'guix environment'. just build the environment on some other machine instead of the local one. <civodul>a simple thing we could do in this area is to improve our generated 'run-vm' script <davexunit>civodul: what improvements do you have in mine? <civodul>davexunit: networking setup for instance <civodul>i don't know if we can ssh into the VM currently <civodul>QEMU provides a DHCP server so the VM gets networking if it uses dhcp-client-service <civodul>but i don't know if there's a route in the host->guest direction *davexunit adds to TODO list <civodul>the problem with to-do lists is that they often grow too fast :-) <_`_>civodul: did you mean user nat? <civodul>we should create a co-op or something <civodul>davexunit: it's even better than "synced folders": it's "shared directories"! <davexunit>a co-op sounds interesting. I've been thinking of what a sales pitch for guix would look like, that could convince a business to fund development. <davexunit>if I could work part-time on guix somehow, that would be really great. <civodul>but obviously "sales pitch" is not what i'm best at <davexunit>I'm just unenthused about working with any other "dev ops" (for lack of a better term) style tools now that I know guix. <davexunit>a lot of web dev places use puppet/chef and vagrant and docker and so on <davexunit>and I just want *someone* to see the potential for guix to unify all of these tasks <civodul>yeah it could surely be interesting in that area <davexunit>where "someone" is "someone with capital" :P <davexunit>well, having someone pay you to work on a project doesn't mean that they direct the project. <civodul>although they could pay you to work on specific aspects <civodul>which could be at the expense of others *davexunit goes back to the PHP salt mines <Sleep_Walker>I have installed procps, but I want to inspect sources, what should I do? <Sleep_Walker>and `guix build procps' just returns the store already built <bavier>Sleep_Walker: use `guix build -S procps`? <paron_remote>Tsyesika is trying to install guix but I think is hitting an error in guix's autoconf files <Sleep_Walker>/gnu/store/59c63413dpxkssw15rqa1xl4ci6xbz2h-procps-3.2.8.tar.xz <Tsyesika>./configure: line 7188: syntax error near unexpected token `have_guile_json,' <Tsyesika>./configure: line 7188: `GUILE_MODULE_AVAILABLE(have_guile_json, (json))' <bavier>Tsyesika: Are you bootstrapping from git? <bavier>Sleep_Walker: is that not the source you were looking for? <Sleep_Walker>bavier: no, not really, I'm looking unpacked sources with applied sources <bavier>Sleep_Walker: the tarball that `guix build -S` returns has any patches or snippets applied. You'll need to unpack it yourself of course. <davexunit>Tsyesika: have you installed the guile-2.0-dev package? <bavier>no, I believe we always repack to xz <davexunit>Tsyesika: it sounds like you're missing guile's autoconf macros <Tsyesika>fedora but yeah i've installed guile-devel <bavier>Tsyesika: check that you've appropriately set and exported ACLOCAL_PATH <davexunit>I haven't used guix on fedora, so I don't know what could be going wrong with these load paths <rekado_>I'm using guix on Fedora and CentOS7. I didn't have to set ACLOCAL_PATH <Tsyesika>i've installed everything with yum so i don't know why there would be path issues <davexunit>but the problem seems to be 100% that the guile autoconf macros aren't found. *Sleep_Walker had ACLOCAL_PATH not exported as well today <rekado_>I needed to install autoconf, automake, git, gettext-devel, guile, guile-devel, libgcrypt-devel, graphviz and a couple more (according to my puppet manifest for the CentOS machine) *civodul adds an m4_pattern_forbid for guile.m4 <civodul>Tsyesika: as davexunit writes, you need to install guile-devel or whatever package provides guile.m4 <davexunit>guile-devel is installed, apparently, which leaves me with no additional recommendations <Tsyesika>davexunit: i can confirm /usr/share/aclocal/guile.m4 exists and is brought in by guile-devel <civodul>Tsyesika: could you try "autoreconf -fi && grep GUILE_MODULE_AVAILABLE configure"? <civodul>so i guess we have to update OpenSSL again <mark_weaver>civodul: apply to master directly, or have hydra build it on another branch first, wdyt? <civodul>mark_weaver: i have a slight preference for separate branch <{0}grant>I'm trying to build Guix on Fedora Rawhide at it's spewing a "syntax error near unexpected token `have_guile_json,'. Then `Guile_MODULE_AVAILABLE(have_guile_json, (json))'. Any ideas? <{0}grant>Am I just missing a depend, that has this unexpected effect? <taylanub>{0}grant: wild guess: you don't have pkg-config <taylanub>{0}grant: where is it spewing that though? during ./configure? <{0}grant>Yeah, and just checked. I have pkgconfig. <taylanub>using a release or checkout? (did you run autogen/autoreconf yourself, or was the ./configure there already?) <mark_weaver>{0}grant: you need guile.m4 installed at the time that you run autogen <mark_weaver>guile.m4 is where GUILE_MODULE_AVAILABLE is defined. <{0}grant>Wait, so does that ship with Guile or M4 via autotools? <mark_weaver>guile.m4 would typically be in the development package for guile. on debian it would be guile-2.0-dev. not sure on fedora <{0}grant>I have 'guile-devel' installed, though yeah, not sure of the specifics. <taylanub>it seems we have samba 3.6. given 4.0 is from 2012 December, I'm guessing this was a conscious decision. if I package samba 4, should I name the variable samba-4 and inherit from samba, or the other way around? <mark_weaver>you might need to set ACLOCAL_PATH to include PREFIX/share/aclocal <mark_weaver>that would be interesting of the default ACLOCAL_PATH on Fedora is unable to find the guile.m4 installed by Fedora <{0}grant>mark_weaver: /usr/share/aclocal/guile.m4 <mark_weaver>does /share/aclocal also exist? are there many files there? <{0}grant>mark_weaver: Set the path, and it now works; Weird. I suspect it must have something to do with the way I upgraded Fedora mabye, to Rawhide. Stable worked just fine. <{0}grant>mark_weaver: Yeah, there's a dozen or so. <mark_weaver>It might be that Fedora autoconf now only looks in /share/aclocal by default, and that the Fedora Guile package should be changed to install guile.m4 there. <{0}grant>I'll look into it a bit more over the weekend likely, but yeah, mark_weaver thanks for the help. Going to leave it run via make while I go afk, and head to class. o/ <rekado_>I basically have a functional package for Julia, but it annoys me that there are two bundled libraries that I haven't been able to replace with system packages. <rekado_>one of them is suitesparse for which I already submitted a patch. <rekado_>the build system for suitesparse only builds static libraries, but Julia wants shared libs. <rekado_>dsfmt has no build system at all. It's just a C file and a header file. <rekado_>change suitesparse's Makefile to also build shared libs? <mark_weaver>I think it would be fine to use those two bundled libraries for now. <rekado_>Julia itself is released under expat license, but it links to GPL code. Is the package license expat, then, or GPL? <taylanub>does anyone know waf's analogue of passing foo_CFLAGS/foo_LIBS to ./configure to bypass pkg-config detection of foo? <taylanub>#waf told me there isn't; I'll probably be patching the wscript file. <taylanub>so Requires.private packages in .pc files should be propagated inputs. does the same go for the Requires field of the .pc file? <taylanub>hm, not from what I can tell from pkg-config documentation. I guess libxrandr propagates randrproto for some other reason then (it being in the Requires field but not Requires.private) <taylanub>and maybe I should write a script that runs through .pc files in a package and checks if Requires.private libraries are all propagated <taylanub>no wait, if private requires need to be propagated, then non-private ones should definitely be propagated too. in fact I would have thought that private ones needn't be propagated, if I'm reading pkg-config documentation right. well that's confusing. <Sleep_Walker>it seems that IceCat doesn't support H.264 - is that intentional? <civodul>taylanub: isn't Require.private for static links? <civodul>well Libs.private is for static linking <taylanub>civodul: apparently, if libbar is under Requires of libfoo, 'pkg-config --libs foo' will emit -lfoo -lbar, if .private it will only emit -lfoo. I posted on the ML about this by the way. <civodul>taylanub: but --libs --static will also emit -lbar, i suppose <taylanub>indeed. (actually not sure about '-lfoo -lbar' for the Requires, trying to figure out) <taylanub>(well yeah, can't find an explicit example but everything I'm reading seems to imply it) <Sleep_Walker>civodul: my estimation is that I should backport ~20 patches to make gnash release working with gstreamer-0.10 <Sleep_Walker>yes, it is still fraction of all ~760 patches between 0.8.10 and HEAD <civodul>Sleep_Walker: ouch, then that's a good reason to stick with the git thing <Sleep_Walker>this way it works and all the required fixes for guix are already pushed :b <afleck>I'm getting the following error with guix package -i: <afleck>substitute-binary: guix/scripts/substitute-binary.scm:634:2: Throw to key `match-error' with args `("match" "no matching pattern" ())'. <afleck>guix package: error: build failed: substituter `substitute-binary' died unexpectedly <afleck>I can't update it to .9 with guix package -i guix <afleck>oh, and this only happens on root account <afleck>works fine as user, using same guix (/run/current-system/profile/bin/guix)