IRC channel logs


back to list of logs

<ryanprior>My local Guix build/test environment is royally screwed up. I did a make clean, configure, make and afterwards when I run "./pre-inst-env guix" it says "./pre-inst-env: 55: exec: guix: Permission denied"
<ryanprior>Anybody seen similar problem? Any suggestions for what I should try?
<ryanprior>This is with "guix env --pure guix"
<ryanprior>Well, environment, not env. But I try to run "guix env" multiple times a week and my brain just cannot accept that it is not a valid shortcut. I guess eventually I'll figure out how to patch the Guix CLI to make it valid =X
<mdevos>ryanprior: if all else fails, you could try to git clone the source repository again
<mdevos>did you run sudo ./pre-inst-env guix etcetera at some point?
<mdevos>(or sudo make install or something like that)
<mdevos>in that case, some root-owned files could have been created in the source/build tree
<mdevos>otherwise I've no clue
<ryanprior>I ran "find guix -user root" in the repo's parent directory and verified that no files are owned by root.
<ryanprior>Also ran ls -lR guix | awk '{print $3}' | sort | uniq
<ryanprior>Verifying that everything is owned by me, no other users present.
<mdevos>ryanprior: could you look at what exactly pre-inst-env is trying to execute? The exact file name I mean?
<mdevos>(at line 55)
<ryanprior>Oh that's the last line of the script where it exec "$@"
<ryanprior>So it's basically running "guix" at that point
<mdevos>Yes, but which guix? Could you add a "which guix" line before exec "$@"?
<OriansJ>anyone have an iwd service config?
<mdevos>It should be the scripts/guix in the build directory
<ryanprior>It's /home/ryan/dev/guix/scripts/guix
<mdevos>Perhaps check if scripts/guix is executable? "stat scripts/guix"
<ryanprior>Stat says it's a regular file with permissions 555
<mdevos>There's a shebang in scripts/guix, maybe look if what it points to is executable?
<ryanprior>The shebang says "#!/home/ryan/dev/guix/guile" which I'm pretty sure is not a file that exists
<mdevos>in my case, it actually exists? Try ls -l guile
<mdevos>apparently it's some wrapper created by Guix' build system
<ryanprior>Indeed it does not exist
<ryanprior>I ran "make guile" and now it works. So weird! I'd already run "make"
<mdevos>I tried deleting it, and then ran "make", and the first thing "make" does is recreating it.
<ryanprior>Well, it's possible that make is behaving in unusual ways on my system, because make has not exited 0 for like ~6 months. It always chokes on some PO files and dies after doing most of its work :\
<ryanprior>And I've tried debugging that but the best answers I've got are "yeah it does that for some people, but it's not a problem" and I'm not even clear on why make wants to generate the German docs when I never asked for them
<mdevos>ryanprior: I've got the issue at some point as well, and it disappeared at some point
<ryanprior>Right, that's what people have said, like it's a wandering poltergeist
<ryanprior>I want to learn more about the build system and how Guile works so I can rip out GNU make and create a tup build system that isn't subject to all these shenanigans
<ryanprior>But it's not a top priority
<leoprikler>I think it makes sense to start again from a clean checkout in some cases.
<leoprikler>bootstrap, configure, make, then restore po.
<ryanprior>I've done that but the issue persists.
<mdevos>maybe find . -name '.gitignore' -delete and git checkout -- . for a clean checkout?
<mdevos>or clone the git repo again
*mdevos zzz
<leoprikler>I'm pretty sure we have a repo-mandated gitignore, so I'll take that as a "it still fails from a fresh clone", am I correct?
<ccao001[m]>Does guix system have an autoupgrade service yet?
<marusich>ccao001[m], see:
<ccao001[m]>marusich: awesome! thanks for pointing me to it
<jorge[m]>Hola.que login debo colocar en guix hurd ?
<roptat>\o/ I have a higher-level procedure, called link-set that can do something like (link-set "lo" #:down #t) (equivalent to "ip l set lo down") :D
<roptat>same with #:up :)
<roptat>I also have (link-show) that does the same as "ip l show" (including filters: (link-show #:device "lo") or (link-show #:type ARPHRD_ETHER)
<PotentialUser-54>I cannot seem to locate the key for the build farm. I keep getting : substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
<PotentialUser-54>I am installing guix on top of arch and when I ran the install script, I told it I did not want to load binaries.
<PotentialUser-54>It can't seem to build successfully, so I wanted to try to load binaries. I cannot find the key for on my system.
<PotentialUser-54>It is not in /gnu or /var/guix
***iyzsong-- is now known as iyzsong-w
<lfam>PotentialUser-54: It should be found at /var/guix/profiles/per-user/root/current-guix/share/guix
<lfam>Is it there?
<PotentialUser-54>It is. Thanks!
<lfam>Great :)
<lfam>You can authorize the build farm with `guix archive --authorize < /path/to/that/file
<lfam>It will require root privileges
<PotentialUser-54>Yay! guix pull works now. I spent so long trying to find that file. Haha.
<lfam>Sorry for that!
<marusich>efraim, I think I need 2da8fcfdee7cfde8110a68806f3c4d497f217fe5 for powerpc64le-linux, too. But can you remind me: why is it OK for binutils-final to refer to static-bash-for-glibc on powerpc architectures, but it isn't OK on other architectures?
<marusich>dftxbs3e, I do not need an answer to my prior question. I figured out a solution. It turns out that in commit 4a914de930a8317cab5bc11bdb608e3a3da3d1ad, we added logic to gcc-boot0 that would add configure option --with-long-double-128 when the boot triplet is "powerpc64le-linux-gnu". Maybe that was correct at the time, but it is not correct now. Currently, the boot triplet is "powerpc64le-guix-linux-gnu" - the special boot-triplet procedure
<marusich>adds "guix" to the triplet during commencement.
<marusich>So, I was able to get past that problem, and build more things, by changing that to add --with-long-double-128 when the boot triplet is "powerpc64le-guix-linux-gnu".
<marusich>I imagine I will need to make many changes similar to what you have already done, so I will be looking at your commits from months ago and seeing what I can take.
<marusich>FYI, I am going to put my work in the wip-ppc64le branch. I do not intend to rebase that branch. It seems nobody has been using it for a long time, so I just started making commits there. I merged master today.
<marusich>I have pushed my most recent changes to the branch, so feel free to take a look.
<apteryx>bootstrapping question: is it important to care about the reproducibility of intermediate bootstrap 'nodes' ?
<apteryx>the specific case is rust; I think the early bootstrap chain might not be reproducible, but I reckon the later rusts must be.
<ryanprior>apteryx: if you want to bootstrap for the purpose of "trusting trust" minimization, then you need reproducible intermediate steps.
<ryanprior>If you just want reliable hashes of the final built products, then the intermediate steps are less important. But I think the trust use-case is important to a lot of people in the project.
<timmydo>can someone tell me if (service network-manager-service-type) means i would use nmcli to set up my network interfaces? or if i want a static interface do i also throw in a static-networking-service-type?
<iyzsong-w>timmydo: yes, you can also use 'nmtui', NetworkManager will manage all interfaces, it can use static configuration.
<timmydo>iyzsong-w: thanks. so basically my network config will not be stored in config.scm then?
<iyzsong-w>yes, i think then they're in /etc/NetworkManager
***lukedashjr is now known as luke-jr
***iyzsong-- is now known as iyzsong-w
***amfl_ is now known as amfl
<efraim>marusich: there's an extra file that's a bash script specific to powerpc machines. I suppose we could just un-patch-shebang it back to /bin/sh
<cbaines>Looks like something in was a "rebuild lots of things" change, I just can't work out what yet...
<cbaines>does anyone know how to format oneline Guile files so that they can be diffed?
<cbaines>ah, wdiff -n -w $'\033[30;41m' -x $'\033[0m' -y $'\033[30;42m' -z $'\033[0m' did the trick
<civodul>Hello Guix!
<cbaines>it's this change, so it was just all emacs related packages
<civodul>cbaines: i guess it triggered many rebuilds but mostly small packages
<lfam>I think staging is done but I'm going to wait until "tomorrow" (Monday) to push it. It's too late here
<lfam>C ya!
<cbaines>civodul, yeah, impressively seems to have attempted building all of them
<civodul>cbaines: yes, it seems to be very much doing the job now! :-)
<civodul>i spend my days looking at now
<civodul>and it's reassuring
<civodul>looks like we're making good use of the resources
<cbaines>don't some of those machines have 96 cores?
<cbaines>I implemented load based dynamic "max builds" for the Guix Build Coordinator agents a while back, and I'm pretty happy with how it worked out
<civodul>yes, i'm sure we could have more than two jobs on most of these
<pkill9>any idea what's causing this?
<pkill9>substituting /gnu/store/sg20nksnk8asxly266qk6fs1qrc0kpqa-llvm-11.0.0...
<pkill9>guix substitute: error: host name lookup error: Name or service not known
<pkill9>substitution of /gnu/store/sg20nksnk8asxly266qk6fs1qrc0kpqa-llvm-11.0.0 failed
<civodul>pkill9: hi! could it be a transient networking error?
<civodul>the host name of your substitute server could not be resolved
<pkill9>hey civodul, sadly this has been happening regularly, and i don't have any other substitute servers other than berlin and
<pkill9>although actually let me double check
<pkill9>it's in the config but maybe i didn't reconfigure
<pkill9>ahhhh yes --substitute-urls fixed it :)
<pkill9>i must have put it in the config but not reconfigured
<pkill9>i think i asked before about whether the guix substituter handles redirects, and i think it doesn't, possibly for security reasons
<civodul>pkill9: it doesn't, but that's not for security reasons :-)
<pkill9>i just thought, recently there's been channel-with-substitutes-available
<pkill9>you could have guix look up the latest package that has substitutes available, with the latest guix revision that has substitutes available
<xelxebar_>In a package def, I need a non-trivial wrapper around the executable, that detects CPU features. I'd like to do this in a small guile script and install that into bin/.
<xelxebar_>I'm a bit lost, however. Thinking that I want to write a gexp for the script and somehow reify that into a file under bin/ during the install phase.
<new-guix-user>hello, is there a way to share packages between users?
<xelxebar_>new-guix-user: Check out `guix archive`!
<pkill9>new-guix-user: you can install packages via the configuration file so they're available to all users
<xelxebar_>Is my above line of thinking correct?
<new-guix-user>xelxebar: so you export/import packages to users?
<new-guix-user>pkill9: I see, I'll try that
<xelxebar_>If so, concretely how do I go about reifying a gexp into a file somewhere?
<new-guix-user>I currently have a few packages on root that I'd like on my non-root user
<xelxebar_>new-guix-user: Oh! You're trying to solve a much easier problem! Just run `guix package -i` on your non-root user.
<new-guix-user>thank you!
<new-guix-user>I'll be right back
<xelxebar_>Unrelated, but I'm also having trouble building nyxt from the `2-pre-release-4` tag. Would someone mind giving it a try? (guix build --with-commit=nyxt=2-pre-release-4 nyxt)
<new-guix-user>That didn't work, but I'll try appending the specific packages I need to the config.scm file
<xelxebar_>new-guix-user: What exactly did you do and how did it fail?
<new-guix-user>I tried to figure out a way to make emacs available globally (and couldn't find one sans adding it to the list of packages in config.scm)
<xelxebar_>Oh, you want it available for all users, globally? Or do just want a specific user to have emacs?
<new-guix-user>I have emacs currently installed on root, and I'd like all users to be able to access it without having to reinstall its dependencies for each user
<xelxebar_>In the former case, then putting emacs in the packages of your operating-system declaration is what you want. In the latter case, you're probably better off just defining a manifest for that user.
<efraim>yay compression and deduplication. guix gc cleared 168GB of space, df -h says 25GB new unused space
<new-guix-user>I see, thank you
<pkill9>efraim: so 168GB got compressed and deduplicated to 25GB?
<efraim>pkill9: yep!
<pkill9>wow nice
<efraim>i can never remember if the 2:1 is guix or btrfs compression, but together I average 6:1 on /gnu/store
<new-guix-user>I'm getting the error inferior-for-channels: unbound variable
<new-guix-user>hint: Did you forget `(use-modules (guix inferior))'?, but I have guix inferior in my use-modules
<efraim>`just checked, 3:1 from guix deduplication, 2:1 with btrfs compression
<pkill9>new-guix-user: can you post the full code of what you're trying to do?
<new-guix-user> (let*
<new-guix-user> ((channels
<new-guix-user> (list (channel
<new-guix-user> (name 'nonguix)
<new-guix-user> (url "")
<new-guix-user> (commit "905e67b5bf6e31679a3f8a38aeca61a794a55544"))
<new-guix-user> (channel
<new-guix-user> (name 'guix)
<new-guix-user> (url "")
<new-guix-user> (commit "85243d0d63e2219d0d376a541fa67efc24e6e2c8"))))
<new-guix-user> (inferior
<new-guix-user> (inferior-for-channels channels)))
<new-guix-user> (first (lookup-inferior-packages inferior "linux" "5.10.11"))))
<new-guix-user>I used the non-libre kernel because of wifi drivers, but I don't want to recompile it every time
<pkill9>does anyone else find that guix says 'the following derivations will be built/downloaded' multiple times?
<civodul>yes, that can happen as it walks its way through the things to be done
<civodul>(short answer: grafts)
<pkill9>why does it do that?
<civodul>because it can't determine everything it has to do upfront
<pkill9>ah thanks
<pkill9>are there any VPS providers that let you pass a guix configuration and generate a VPS running guix configured with that configuration?
<xelxebar_>pkill9: Not sure if this is what you have in mind, but have you checked out guix deploy?
<pkill9>oh yea i forgot about that, thanks
<pkill9>that would work close enough
<pkill9>with a little configuring
<pkill9>how do i garbage collect a store path recursively?
<zimoun>cbaines: Did you post patches about Docker image layers? If yes, do you remember when/where?
<cbaines>zimoun, could be this?
<zimoun>cbaines: cool, thanks!
<cbaines>maybe improving container image generation would make a good Outreachy/GSoC project
<cbaines>I'd like to continue looking at it, but I'm busy with other things at the moment
<zimoun>exactly, that’s why I am giving a look. To roughly evaluate if it is doable by Outreachy.
<zimoun>I have that in mind: and
<civodul>zimoun: that'd be a good project IMO, though that depends on whether cbaines plans to pick it up
<raghavgururajan>Hello Guix!
<civodul>hey raghavgururajan!
<roptat>you probably didn't see yesterday. I was working on guile-netlink. I now have a first version of the high-level api I wanted, for links. I have link-show (similar to ip l show) and link-set (similar to ip l set). So I can do something like (link-set "lo" #:down #t) which does the same as "ip l set lo down" :)
<roptat>my goal is to replicate the behavior from iproute2 in guile, then use that higher-level API to re-implement the static-networking-service
<mothacehe>roptat: sounds terrific! it should also allow us to implement a static networking configuration page in the installer
<civodul>(though... in the installer, really?)
<mothacehe>zimoun told me he needed to setup static IP at installation time if i recall correctly
<mothacehe>because there are no dhcp in his lab i guess
<zimoun>mothacehe: well, the DHCP does not depend on me but to the IT Crowd. But I manage couples of static IP.
<jlicht>roptat: would guile-netlink also allow for more elaborate setups of networking in containers?
<civodul>mothacehe: i'm wondering if we can keep the installer focused on the main use cases, and let people jump to the terminal if they need to do more "unusual" things
<civodul>because all that code needs to be maintained :-)
<roptat>jlicht, eventually yes
<roptat>ideally, you could use it to create a veth pair and put them in separate netns for instance (one for the container, one outside), and route them, so you don't have to share network with the host directly
<mothacehe>civodul: sounds reasonable!
<mothacehe>cbaines: is the data service polling Cuirass build logs? I see a lot of "GET /build/202661/log/raw" requests since this morning
<cbaines>mothacehe, I don't think so
<mothacehe>cbaines: ok, maybe it would be nice to setup some request rate limitation in nginx to prevent CI web scrolling
<cbaines>mothacehe, I'd perhaps check the NGinx logs for the user agent
<cbaines>but yeah, NGinx supports rate limiting I believe, so that should be possible
<mothacehe>cbaines: you are right, nginx access.log reveals that those are robot requests!
<mothacehe>BLEXBot and AhrefsBot among others
<efraim>will (find-files "foo") find both directories ./foo and ./src/foo ?
<abralek>Hi Guix, seems like opensmtpd-extras is not available during the runtime
<abralek>I can not use table-passwd for instance
<raghavgururajan>TODAY => Passer-by: What's up? Me: Building qtwebkit | DECADES LATER => Passer-by: What's up? Me: Building qtwebkit
<roptat>how can I get the last element of a list in guile?
<mdevos>roptat: does it have to be fast?
<roptat>no, the list is usually small
<roptat>(typically 1 element ^^)
<zimoun>reverse first
<mdevos>oh, I now see a nice procedure in the guule manual: it's called "last"
<efraim>I don't know if it's possible to really, truely unbundle all the bundled libraries in vg
<efraim>sdsl-lite is bundled 6 times
<roptat>ah thanks, I tried that in a repl, but it's in srfi-1, that's why it didn't work
<zimoun>someone already used “guix pack -f squashfs” and then “guix environment –ad-hoc singularity” and try to run the image?
<apteryx>raghavgururajan: hehe
<raghavgururajan>Anyone available to review and push #45889 please?
<civodul>i think i'll go ahead with --export-manifest as it is
<civodul>and we can always improve things later as we see fit
<zimoun>civodul: I agree
<joshuaBPMan>hello guix! I've got a define-syntax-rule* question...I've noticed that if I make a (define-syntax-rule* <lunch>) ... then if I try to create a lunch record via (define my-lunch lunch), I get a compile error that doesn't specify the error-line-number. Is there a way for guile to provide that error line number? Is this a guile bug/feature or a guix bug/feature? Also the correct code would be (define my-lunch (lunch)).
<joshuaBPMan>I'm also wondering if I should file this as a guile or guix issue.
<mdevos>joshuaBPMan: did you mean define-record-type*?
<joshuaBPMan>mdevos: Yes. My mistake define-record-type*
<nefix>hello! I've found a bug in spice-vdagentd, that prevents it from running (I find it very weird that no-one has changed it, since it was changed in the upstream spice repository 2 years ago. It's just deleting 4 characters. How can I change it and push it to Guix?
<mdevos>I would have to look at the error message, but it should be possible to extend define-record-type* to emit an error message in case of a syntax error ...
<mdevos>by extending the syntax-case expression below compute-abi-cookie ...
<mdevos>and using the procedure syntax-source for nice line number information
<joshuaBPMan>mdevos: I actually blogged about the issue here:
<joshuaBPMan>The compile output is there on the page. :)
<mdevos>guile bug I think. Though ideally you would create a minimal test-case, without (guix records).
<dandan26P>Anyone have time to help a rookie?
<nefix>dandan26P: what's up?
<dandan26P>I'm trying to change DE, from Xfce to awesome
<new-guix-user>Hello, I have a void partition which controls GRUB, but GRUB can't detect Guix. Any suggestions?
<dandan26P>Apparently, I need to use one of the specified desktop services, but awesome isn't there. It's strange since awesome was listed as an available DE in the graphic installer
<nefix>dandan26P: what do you mean "awesome isn't there"?
<dandan26P>It's not provided in the desktop module
<dandan26P>awesome-desktop-service-type does not work
<pineapples>new-guix-user: Do you have os-prober installed on your Void installation?
<new-guix-user>pineapples: yes
<new-guix-user>guix's menuentry is different from other distros
<new-guix-user>I'm not sure what it is though
<pineapples>new-guix-user: Maybe this will help?
<apteryx>dandan26P: I think it you start from the lightweight-desktop.tmpl template and just add awesome to the list of system packages (next to where i3-wm gets added in the template), it should just work.
<apteryx>The lightweight-desktop template makes use of GDM as the login manager, and will allow you to choose any WM that installs a .desktop file.
<rndd>hi guix!
<new-guix-user>figured something out, I copied the menuentry from guix's file system and added it to mine
<cybersyn>hi guix. any recommendations for best guix vpn?
<mdevos>cybersyn: depends on what you mean with "VPN". I don't have any recommendation for "VPNs" that aren't VPNs but rather proxy IP traffic ...
<mdevos>huh, I thought Guix had a WireGuard service. Apparantly, it doesn't (though it does have a WireGuard package)
*mdevos doesn't have any recommendations anymore
*apteryx merged the new GUIX_PYTHONPATH changes to core-updates
<civodul>apteryx: yeah, well done!
<civodul>and i pushed --export-manifest + --export-channels \o/
<civodul>apteryx: and congrats for going over all these Python packages, that's impressive!
<efraim>indeed, congrats!
<luis-felipe>Isn't issue #42229 obsolete now? It's for updating Jami to 20200702, but current Jami in Guix is 20200710.1.6bd18d2.
<luis-felipe>Speaking of Jami, does it work for you? Because most of its features fail for me. It's pretty much unusable...
<mdevos>luis-felipe: I've used Jami successfully a month or three ago
<mdevos>idk if that's relevant
<luis-felipe>mdevos: Do you use it in the Guix System?
<mdevos>luis-felipe: I just started Jami, I can PM my id for testing
<luis-felipe>mdevos: And you can place audio/video calls and leave audio/video messages?
<mdevos>a month or three ago, yes, but I haven't used Jami since
<mdevos>I'll check with my android phone
<mdevos>btw I start Jami as "jami-gnome" and not "jami", idk if that matters
<mdevos>(In the GNOME desktop environment)
<luis-felipe>It autostarts for me when I log in (well, sometimes it doesn't start).
<luis-felipe>I'll check if it is jami or jami-gnome
<mdevos>maybe it autostarts for me in the background as wel
<luis-felipe>It is run as jami-gnome
<mdevos>I can send messages to myself from device #A to device #B, will check audio/vid
<mdevos>audi is orking
<luis-felipe>Is #A your GNOME client and #B Android client?
<mdevos>vido as well
<mdevos>#A is GNOME and #B is android
<luis-felipe>Because Androids work better than the GNOME client, at least for me.
*mdevos notices I haven't updated the Android apps
<mdevos>(both devices are on same network. maybe that matters)
<pkill9>is the security of jami audited
<luis-felipe>yeah, maybe.
<luis-felipe>pkill9: Not that I know of.
<mdevos>luis-felipe: what features are failing for you?
<luis-felipe>I'm naive and trust it because it says it is a GNU package.
<luis-felipe>mdevos: I can usually text, and that's about it. Although text messages often don't reach other people, while their messages work fine.
<luis-felipe>I can't leave audio messages nor place audio calls.
<mdevos>luis-felipe: I've had trouble with receiving/sending messages to! I just thought it meant we were not online at the same moments ...
<luis-felipe>In my case, I made sure to notify my contacts before doing the tests.
<mdevos>luis-felipe: does Jami give some error message or something?
<luis-felipe>mdevos: Would you have a minute to test texting between the two GNOME clients?
<mdevos>I wonder what OS your contacts were running ...
<mdevos>luis-felipe: yes!
<luis-felipe>mdevos: No errors that I can see.
<luis-felipe>mdevos: My user name is luis-felipe
<mdevos>luis-felipe: I sent hi!
<dftxbs3e>marusich, hello!
<raghavgururajan>> pkill9‎: is the security of jami audited
<raghavgururajan>bandali ^
***lukedashjr is now known as luke-jr
<apteryx>civodul: eh, it had been a growing itch (Python) :-)
<apteryx>luis-felipe: it works for me, for basic things (messages, video calls, audio calls)
<apteryx>Some things are still crashing (hitting the audio recording button a second time for example)
<apteryx>*recorded audio message
<apteryx>file transfer also seems broken
<apteryx>These are Jami packaging in Guix specific issues, not Jami issues; so I haven't pestered the Jami team about it.
<mdevos>apteryx: felipe and I just tested Jami
<apteryx>did it work?
<mdevos>some things worked well, some less ...
<mdevos>file transfer worked well
<bandali>raghavgururajan, pkill9 not that i know of
<apteryx>OK, that's interesting.
<mdevos>sending audio messages worked well
<apteryx>It never works here, on a local network between an Android device and my Guix system.
<mdevos>but video messages were not received for some unknown reason ...
<luis-felipe>apteryx: the test with mdevos worked very well compared to my previous tests on the weekend.
<mdevos>audio calls worked well
<mdevos>video calls worked well, albeit sometimes the Jami client crashes when I try to start a connection ... (/me has camera, luis-felipe not)
<luis-felipe>Attachements worked well too.
<apteryx>Before filing bugs with upstream, I always validate that the same bug occurs in one of the environments they support, with their provided build (e.g., Debian + their apt repo entry)
<apteryx>I do so in a VM using Gnome Boxes, where I can share a webcam easily with the guest.
*mdevos closes Jami application
<luis-felipe>apteryx: I usually don't know where to report bugs and my computer can't handle VMs running another GNOME.
<luis-felipe>bandali: I mean, I don't know if I should report to Guix or upstream. I already reported two bugs upstream.
<apteryx>luis-felipe: in my experience, if you find something not working in Guix, it's probably Guix-specific.
<apteryx>(w.r.t. to Jami)
<bandali>luis-felipe, ah. well, like apteryx said, it'd probably be a good idea to test in another distro besides Guix to make sure it's not a Guix-specific bug
<luis-felipe>bandali: But since Guix version is older than the current Jami, I don't know if they have any value.
<joshuaBPMan>mdevos: I've filed a bug report on bug-guix and bug-guile! Thanks!
<bandali>luis-felipe, right. i'm hoping to be able to spend some time on updating Guix's Jami in the coming weeks :-)
<luis-felipe>bandali: That would be great, thanks. It would be very useful if I can communicate with people in other systems using Jami.
<bandali>cheers :-) indeed
<luis-felipe>By the way, we tried the redezvous feature with mdevos too, and it worked. Although we didn't test it for too long.
<joshuaBPMan>bandali: That would be awesome!
<apteryx>bandali: that'd be awesome! I can lend a hand if needed.
<bandali>apteryx, thanks, will def let you know if i do!
<madage>luis-felipe, mdevos, bandali: I'm somewhat late but I've been using the guix version of Jami and it works here. Yesterday I had a video/voice call with two other people (them being on iOS and Android)
<madage>I've had connection issues though
<bandali>glad to hear all of these success stories :-)
<apteryx>civodul: would you happen to know how come only two concurrent build connections to a remote offload is possible, and if there's a reason for this limitation?
<madage>texts works reliably, but I did not try sending files
<mdevos>I'm not much into VMs, but I just noticed that Guix System is not listed ‘Create a Virtual Machine’ in GNOME Boxes, which is rather absurd (I'm on Guix System)
<mdevos>‘Someone’ should fix GNOME Boxes, though ‘someone’ does not include me at the moment (my personal TODO list is long enough already)
<jackhill>mdevos: heh, mee too :) However, I think it would be appropriate to open a ticket with a note to so ‘someome’ knows about it and doesn't forget.
<mdevos>will do
<jackhill>awesome thanks
<apteryx>mdevos: there was already an issue about possible GNU FSDG freedom issue in GNOME Boxes, perhaps they could be dealt together
<mdevos>How should I adjust the such that a scheme file is compiled to .go, to be run on the host (not the target)?
<mdevos>I'm implementing a ‘hooks’ mechanism for ‘guix publish’ (passes with --hooks=FILE-WITH-HOOKS.{scm,go}), and I figured it would be nice if these hooks were compiled
<mdevos>so I'm adding a test for whether compiled hooks are loaded correctly
***gurmble is now known as grumble
<rekado>a user just reported this error: “guix package: error: integer expected from stream”
<rekado>never seen that before
<cbaines>rekado, was that when fetching substitutes?
<lfam>I've never seen it either
<cbaines>I think it's the NarSize issue
<cbaines>There's an open issue about it here
<cbaines>I'll send an email stating that's the error you get when you hit a bad substitute, as that's useful to know
*lfam pushes staging
<lfam>I'll do the clean-up tasks soon. Renaming staging-next, closing bugs, etc
<cbaines>yay \o/
*rekado needs to fix axoloti-patcher when staging is merged…
<cbaines>and on the subject of branches, I'm still really interested in
<cbaines>which would allow separating out the work/cost of testing the changes from providing substitutes to users
<raghavgururajan>leoprikler: copy-build-system doesn't compile anything. But I have libraries that has to be built. So c-b-s cannot be used right/
<leoprikler>have you heard about build system mixing yetß
***jason is now known as Guest28739
<civodul>apteryx: i think what matters is the 'max-jobs' field of <build-machine>
<civodul>sorry, it's called 'parallel-builds'
<raghavgururajan>leoprikler: Ah okay. Hmm, but again after copy phase of copy-build-system, I have to create a phase to reorganize contents of the 'out'.
<leoprikler>just write your install plan in a way that you don't
*raghavgururajan is confused on how to use copy-build-system
<lfam>cbaines: I read your proposal about the big updates process
<lfam>It's similar to what Hartmut proposed, right?:
<cbaines>lfam, yes indeed :)
<cbaines>I've just read that email myself and replied
<lfam>I don't know the current status of Cuirass on berlin but, at least in the past, we would only build the "core" package subset of core-updates, until we were ready to start working on it in earnest
<lfam>This would limit the wasted effort while giving some kind of answer to "does it work at all?"
<lfam>I think that's a useful process, and it could be combined with this other proposal
<cbaines>With the prioritisation + build cancellation in the Guix Build Coordinator, I think it's possible to do better than that now
<lfam>Alright :)
<lfam>I don't really have any opinion on it
<raghavgururajan>leoprikler: So you are talking about doing (replace 'install with copy-build-system?
<leoprikler>well, you might have to write the install plan locally and you might also want to do a directory-excursion "..", so that you can get both source and build stuff
<raghavgururajan>I was looking at
<leoprikler>that's still written better than yours and if you look at it closely doesn't simply copy a bunch of stuff
<leoprikler>Also I'd wager that some of our "just copy stuff" trivial builds are a remnant from a time before we had copy-build-system
<lfam>cbaines: Will you "be at" the Guix Days next Monday?
<cbaines>lfam, yep :)
<lfam>Great :) I think it will be productive to discuss this "live"
<lfam>We can also talk about the build farm and the build coordinator
<lfam>I hope that Mathieu O can be there too
<cbaines>It's very exciting :)
<cbaines>I'm off work from Wednesday, so hopefully I'll have enough time to get my thoughts in order
<jonsger>I only marked the monday as holiday...
<cbaines>I needed to take some leave, and the team I'm on at the moment has a rather small support rota, but luckilly my support shifts lined up nicely with FOSDEM + the Guix Day :)
*jonsger is still to new in his company for support duties :P
<bwr_noob>hello all - trying to install guix in a VM from the 1.2.0 image, the download speed from is pretty slow (15KiB/s), to the point where it's taking many hours to download the needed packages (even if I choose a lightweight WM like i3). Is this normal? / are there faster mirrors to use?
<jonsger>bwr_noob: where are you in the world?
<bwr_noob>California, US
<bwr_noob>my down speed is ~20Mbps according to
<lfam>It should definitely be way faster than that, and it normally is
<lfam>It's a possibility that substitutes corresponding to the 1.2.0 release are not in the cache, and so fetching is slower than normal
<bwr_noob>cool, good to know. Possibly my VM network is misconfigured, though I somewhat doubt it
<lfam>It's unlikely that your network is misconfigured, but you could share the parameters of the QEMU (or whatever) that you are using
<civodul>lfam, cbaines: yay it'll be fun, perhaps one of you + mothacehe could facilitate a "CI", substitute, or "branching" session?
<lfam>I would appreciate if it was not tooooo early for me here in GMT-5 time zone
<civodul>great, we have the beginning of a program for Monday :-)
<civodul>oh right!
<lfam>Going off topic a bit but I've really been missing our FOSDEM walkabouts lately
<civodul>yeah same here
<bwr_noob>I'm embarrassed to admit that I'm using whatever is the default configuration for Parallels 15
<lfam>No need to be embarrased bwr_noob :)
<lfam>I figure the defaults are good bwr_noob
<lfam>I don't think the problem is on your end. The details are hazy but I don't think you're the only person who has reported this issue lately...
<bwr_noob>cool, thanks!
<lfam>civodul: Do you think it's possible that 1.2.0 substitutes are not in the hot cache, causing slow downloads for new users?
<lfam>I haven't really grokked the build farm architecture so it's hard for me to guess
<civodul>i think it's unlikely
<civodul>i've noticed that at times i get low bandwidth to berlin, not frequently but that happens
<cbaines>I'm still pretty excited about doing some kind of distributed serving of substitutes via HTTP
<cbaines>and there are machines we have access to in the US
<civodul>right now i can download at 25MB/s, which is good
<civodul>cbaines: you mean with multiple substitute URLs or something fancier?
<cbaines>knot GeoIP is what I've had in mind for a while
<civodul>ah ha! so DNS-based load balancing of sorts
<civodul>that sounds like a great idea
<cbaines>I'm hoping to move to a setup using knot GeoIP + multiple machines serving narinfos+nars at some point soon
<civodul>but what if you get a narinfo from A, that promises that /nar/lzip/xyz is available, and then you /nar/lzip/xyz is not available yet or something?
<civodul>due to replication delays
<cbaines>my current plan is to replicate narinfos (I'm looking at using PostgreSQL logical replication)
<cbaines>but for nars, I think just a NGinx reverse proxy with caching would be fine
<cbaines>and that setup would ensure that if a narinfo is available, the nar should be as well
<civodul>i see, makes sense
<civodul>why PostgreSQL tho? (i'm ignorant)
<civodul>you mean you'd store all the narinfos in a database like on the Data Service?
<lfam>bwr_noob: Sorry we don't have a solution for you
<civodul>lfam: thanks for staying on topic while we think out loud :-)
<cbaines>I did try adding hundreds of thousands of narinfo files to a Git repository, but that didn't really work
<lfam>You could try downloading one of the slow URLs outside of the VM, or maybe on another network (like with a tethered phone) and see if it is still slow
<civodul>cbaines: ah, Git as a database! that didn't scale?
<lfam>The build farm is hosted in an academic institute in Berlin, and the connectivity is usually excellent. But maybe there are occasional peering problems
<cbaines>civodul, well, not with all the files in a single directory. I think the problem was more that my filesystem didn't like that
<lfam>Not to mention the recent fiber cut in Brooklyn that severly damaged eastern US internet capacity
<civodul>lfam, bwr_noob: also, the bandwidth as Guix displays it includes the CPU and I/O cost of decompressing and unpacking the archive
<bwr_noob>actually I think it was an issue with the parallels default network setup: I switched to a different adapter and 10xed my download speed
<bwr_noob>sorry all for the confusion
<cbaines>civodul, I'm hoping that by having the narinfo files in a database I can both solve the problem of distributing them to machines to serve requests, as well as doing tracing garbage collection to work out what to remove
<lfam>I'm curious, bwr_noob, which was the "bad" and "good" virtual adapters? It might be useful for helping others
<lfam>"Which were"?
<bwr_noob>"bad" was "Legacy" which is the default if you choose "other linux" VM type apparently
<bwr_noob>"good" is "Intel(R) Gigabit CT"
<lfam>Thanks, that's good to know
<bwr_noob>np, thanks for the help!
<jonsger>I get 6MB/s from Vodafone Germany which is like usual
<lfam>I wonder what "legacy" is, in this context. But knowing that these choices make such a difference is really useful
<civodul>cbaines: hmm would you GC on the head nodes and replicas would follow? or would each replica perform its own GC?
<lfam>jonsger: Same for me in eastern USA
<cbaines>civodul, the point of the database is to keep things in sync, so you'd just do it on the database, probably not via one of the replicas
<cbaines>civodul, but you could do things like cleaning out cached nars on the replicas in response to things being removed from the database
<cbaines>civodul, I'm kind of viewing this as a third component, alongside the Guix Data Service and Guix Build Coordinator, to help with serving substitutes once a single machine is infeasible or too unreliable to use
<cbaines>The publish hooks in the Guix Build Coordinator are OK, but I'd like low latency approaches for serving narinfos and to be able to remove nars in more complicated ways than just based on the generation time for example
***lukedashjr is now known as luke-jr
<jonsger>lfam: thx for all your driving work on staging!
<lfam>You're welcome!
<apteryx>civodul: re parallel-builds; this seems to work for a single 'connection' with the daemon (e.g., it'll spawn up to $parallel-builds in parallel); what I'm wondering is that when I launched multiple 'guix build X' in different terminal emulators, it seems to support maximum 2 concurrently. IIRC this is probably happening the same on my local machine.
<Shmiggles>Q: What are some examples of public projects utilizing Guix for reproducibility?
<civodul>apteryx: "guix offload" uses a global hard limit on jobs per machine (it uses lock files under /var/guix/offload to do that)
<civodul>so perhaps that's what you're seeing?
<civodul>then, if there's a free slot, the current load on the machine is taken into account as you know
<apteryx>hmm, I'll refine my repro
<apteryx>the slots are supposed to be as numerous as $parallel-builds
<apteryx>and they are
<civodul>cbaines: sounds interesting!
<civodul>"guix publish" is pretty naive in that regard: LRU (but that's good enough most of the time), and a flat directory with everything
<civodul>so far it scales just as well as /gnu/store; just don't try to run "ls" in there :-)
<lfam>Shmiggles: I'm not involved with any, so I'm not sure, but you might some info at <>
<apteryx>civodul: it seems to work as advertised! I must have had long running jobs with my previous parallel-builds setting. Thanks!
<lfam>Shmiggles: That's Guix for high-performance computing, aka scientific research
<lfam>Or, the IRC channel #guix-hpc
<Shmiggles>Ifam: Thanks, yeah. Yeah, there is this ( in the HPC space. Very helpful. I was hoping to see a more engineering oriented example, though. Considering that reproducibility is such a big selling point in Guix, I am surprised it is so hard to find reproducible workflows in practice.