IRC channel logs

2024-08-02.log

back to list of logs

<rekado>goggles-bot: hi
<futurile>Morning all
<dckc>darn... 2. &message: "https://ci.guix.gnu.org/nar/gzip/bzvi25ivys1pk3ndfw2g873q1rab2x2f-libmnl-1.0.4: HTTP download failed: 504 (\"Gateway Time-out\")"
<dckc>substitution of /gnu/store/bzvi25ivys1pk3ndfw2g873q1rab2x2f-libmnl-1.0.4 failed
<dckc>odd... when I `guix system vm`, there are no downloads; it seems to get everything from my store. why doesn't it do likewise for `guix system init`?
<dckc>let's try `guix pull` ... 9edb3f6 to b209566 (277 new commits)
<futurile>Q: anyone what the difference is between the functions generation-numbers and profile-generations - they seem to be exactly the same to me - but given that they're right next to each other in the profile.scm it doesn't seem like an oversight
<dckc>oh boy... "guix pull: error: You found a bug: ..." https://gist.github.com/dckc/d215c54a67ab85f25b9dc0384981f3a3
<futurile>dckc: I think it's just the gateway timing out
<futurile>dckc: try it with no-substitutes
<dckc>no-substitutes = build everything locally?
<dckc>(presumably the crash on gateway timeout is still a bug, but not a very interesting one...)
<dckc>I gather the standard data sources are in Europe but there might be some emerging services in the U.S. Anybody have details on that?
<futurile>dckc: correct - it will build everything locally - still has to get the source files so if it's a gateway problem it might not help
<futurile>dckc: the default build farms / CI/ web etc are in Europe - some on the GNU infrastructure and some elsewhere - there can be instability
<dckc>finding some clues in https://libreplanet.org/wiki/Group:Guix/Mirrors ... though "simply add the URL(s) to the front of your substitute-urls list." isn't clear to me how.
<futurile>dckc: there's a new USA based one - details here - https://lists.gnu.org/archive/html/guix-devel/2024-07/msg00033.html
<dckc>nifty! thanks!
<futurile>dckc: this part of the manual tells you how to add them: https://guix.gnu.org/manual/en/html_node/Substitutes.html
<futurile>dckc: this blog post might help you - it shows how a substitute server is added (albeit for a different channel) https://www.futurile.net/2022/12/04/proprietary-apps-on-guix-using-nonguix-channel/
<futurile>I don't have a post on just plain 'change the substitute server' unfortunately
<dckc> https://guix.gnu.org/manual/en/html_node/Getting-Substitutes-from-Other-Servers.html seems to cover it
<dckc>whee!
<dckc>substitute: updating substitutes from 'https://cuirass.genenetwork.org'... 100.0%
<dckc>substitute: updating substitutes from 'https://cuirass.genenetwork.org'... 100.0%
<dckc>build of /gnu/store/0h7r1766n7brqlvzpnb0y3vank5faizz-linux-libre-5.4.20-gnu.tar.xz.drv failed <- 2x in a row :-/
<dckc>do other folks run into this sort of trouble about 40% of the time? `guix pull` is fraught with peril, IME
<dckc>oh... this looks like more than a mirror issue: cannot build derivation `/gnu/store/9qbnx7kshzxz24dmmlp7acynb2xzm017-alsa-utils-1.2.4.drv': 1 dependencies couldn't be built
<nikolar>ok can some guix expert tell me why this is failing: https://ci.guix.gnu.org/build/5240338/details
<PotentialUser-38>Why does guix home system reconfigure takes so much time recently? The build phase for guix-1.4.0-9a2ddcc is about 40 min. The check phase started right now.
<dckc>ACTION calls it a night
<worni>In the package definition of davfs2 the default user and group are set to nobody and nogroup respectively with the reason that the default "davfs2" user and group don't exist on a typical system, but then shouldn't they be declared by the operating system? I feel like I'm misunderstanding something about how guix works here.
<nikolar>any guix experts around that can tell me why this failed https://ci.guix.gnu.org/build/5240338/details
<rekado>I have only very rarely encountered troubles when running "guix pull".
<rekado>maybe once a year or so
<nikolar>is it possible to only build a single package without derivations
<faust700>Hi #guix!
<faust700>just got error on guix install alacritty - error parsing deravative /gnu/store/.... expected staing ...
<faust700>how i can fix that?
<f1refly>this isn't specific to guix, but I thought I'd just ask for opinions anyway: When formatting a flash drive, is there a way I can force it to make all files rw accessible? I'd like all users, no matter who plugs in the drive, to be able to delete and write files to the drives
<f1refly>basically fat32 but I need bigger files and ntfs is always broken in mysterious ways when accessed from linux
<f1refly>I currently use btrfs which has a good driver for windows, but for mismatching user ids people have to resort to superuser access to remove stuff
<AwesomeAdam54321>Hello Guixers!
<nikolar>oi
<AwesomeAdam54321>I finally found out the cause of the (srfi srfi-171) import errors when I run `make make-go`
<AwesomeAdam54321>Running ./configure should be done in the environment of `guix shell -D guix --pure`
<nikolar>makes sense
<f1refly>I currently have an acl that sets the default modes for user, group and other to 777/666 for directories, but I'm not sure if this is a good solution
<Franciman>how do software determine the system default software for a mime type?
<Franciman>i use river wm, so it's not responsible for it
<Franciman>ok i tried with xdg-mime
<Franciman>worked \o/
<AwesomeAdam54321>Is there an easy way to map the root cause of a huge package graph rebuild?
<AwesomeAdam54321>Over time, my stash of WIP packages grew and I lost track of what's causing a lot of packages to be rebuilt, including the Rust compiler chain
<AwesomeAdam54321>s/root cause/root cause(s)/
<AwesomeAdam54321>I think I should just leave the stash behind
<faust700>do any one know, how i can remove broken derivations? error parsing deravative /gnu/store/.... expected string ...
<AwesomeAdam54321>faust700: Does this error happen when building packages?
<faust700>yes
<brendn>faust700: Did you try running `guix gc`?
<faust700>brendn: that didn't helped
<AwesomeAdam54321>faust700: Do the error messages include a package name in the /gnu/store/...?
<redacted>I remember being frustrated with Beancount's budgeting
<redacted>Looking at the docs, looks like it doesn't do budgeting at all
<redacted>(oops, wrong channel)
<nikolar>lol
<nikolar>doesn't look very redacted to me
<dckc>how can I find out why `guix system init` depends on linux-libre@5.4.20 (which won't build)?
<faust700>AwesomeAdam54321: yes the full err - guix install: error: error parsing derivation `/gnu/store/lzvyxad8l48iaxg3wv0f8mrwb4cnl8m7-xdg-utils-1.1.3.drv': expected string `Derive(['
<dckc>maybe `guix package -u` is my friend...
<faust700>dckc: looks like package -u update already installed packages
<faust700>but will it remove broken derivations?
<dckc>"building ... guix-1.4.0-24.9a2ddcc.drv" is taking quite a while. I wonder how to tell what it's up to
<dariqq>faust700: did you already try 'guix build foo --repair' or 'guix gc --verify=repair,contents'?
<faust700>dariqq: thank you, just have a try to run that commands, but still have the same error
<faust700>what i need to do, maybe reinstall guix? )
<faust700>is it possible some how to remove that derivation?
<ebrasca>Hello, can I install GuixSD using guix from another distribution?
<dckc>why am I not getting substitutes for basic stuff like e2fsprogs and guix?
<ebrasca>dckc: They are probably in the process of being build
<dckc>is this typical?
<ebrasca>dckc: For me it happens with krita
<dckc>is there a way to do something like `guix pull` that results in me getting a version that lots of other people have, so that I get substitutes for basic stuff?
<futurile>dckc: are you getting ANY substitutes? If not you haven't authorised substitutes from the substitute server you're using
<dckc>`guix build guix -v 3` paused for a long time at `HELP2MAN doc/guix-daemon.1`. odd.
<avalenn>anyone can confirm that a substitutes mirror can just be a static http clone ?
<dckc>yes, I get lots of substitutes
<futurile>dckc: OK, do you know about 'guix weather' command?
<nikolar>about substitutes, is it possible to build just a single package locally, while using substitutes for its dependencies
<dckc>I'm vaguely aware of `guix weather`...
<ebrasca>Hello, can I install GuixSD using guix from another GNU/Linux distribution?
<dckc>aha! guix weather docs start with "Occasionally you’re grumpy because substitutes are lacking and you end up building packages by yourself"
<futurile>nikolar: yes - default guix build will pull down all the substitutes - then you can build with --no-substitutes --check for the specific package you want to build locally
<nikolar>ah right
<nikolar>so guix build X and then guix build --no-substitutes --check X
<nikolar>?
<AwesomeAdam54321>ebrasca: If you already have a GuixSD configuration, you can use it for installing from another GNU/Linux system's Guix
<futurile>nikolar: yep - the '--check' option tells it to build the package again even if it has it locally
<nikolar>yup cool
<futurile>nikolar: or just gc --delete the store path for the package when it has it locally - so if you do 'guix build' and it just shows you a store path, delete that path
<nikolar>ah cool cool
<nikolar>i'll try that in a bit
<ebrasca>AwesomeAdam54321: How?
<dckc>`guix weather guix` says weather is good in bordeaux.guix.gnu.org but stormy in ci.guix.gnu.org
<futurile>dckc: you can provide it with a package - so `guix weather cbonsai` and it will tell you if it will provide a substitute or not
<dckc>yes... I did... for the guix package
<dckc>guix weather: warning: '/etc/guix/acl' is unreadable, cannot determine whether substitutes are authorized ... let's see...
<ebrasca>AwesomeAdam54321: I don't have herd to run "herd start cow-store /mnt" and then the "guix system init config.scm /mnt"
<dckc>`sudo guix weather guix` doesn't check the weather for bordeaux.guix.gnu.org . hm. I _thought_ I authorized it...
<dckc>is the impact of `guix archive` system-wide? or just for me?
<futurile>dckc: I think you didn't - that error is commonly when it's not authorised
<AwesomeAdam54321>ebrasca: The `herd start cow-store /mnt` isn't necessary if /gnu/store is writable from your GNU/Linux distribution
<ebrasca>AwesomeAdam54321: I like to install it on a diferent HDD soo I can test it before commiting on my server to GuixSD. My server is a Talos II
<nikolar>is that the power machine
<ebrasca>Yes, it is the ppc64 machine
<nikolar>fancy
<nikolar>and very very expensive
<AwesomeAdam54321>ebrasca: `guix system init config.scm /mnt` should already do all the work of installing to another HDD
<AwesomeAdam54321>since all the files are copied there
<ebrasca>nikolar: I got 50% discount on the machine.
<nikolar>that's still like 3000 dollars
<nikolar>how did you get a discount thougj
<ebrasca>nikolar: I was working on porting Porabola GNU/Linux to it. I did the first step but no idea if the people in Parabola continued it after I stop working on Porabola GNU/Linux
<nikolar>so did they pay for the discount?
<ebrasca>nikolar: I just negociated the price with them and at the time the price was also smaller than post covid.
<dckc>weird... `sudo guix weather guix` only reports on ci.guix.gnu.org, but `guix weather guix` reports on bordeaux.guix.gnu.org as well. odd... neither reports on cuirass.genenetwork.org
<nikolar>that's nice
<faust700>i'm trying guix gc --delete path... - got guix gc: error: cannot delete path `/gnu/store/lzvyxad8l48iaxg3wv0f8mrwb4cnl8m7-xdg-utils-1.1.3.drv' since it is still alive
<faust700>how i can remove that derivative B
<faust700>?
<PotentialUser12>has anyone here used guix in a CI pipeline? I'm having an issue where the /gnu/store paths for the outputs of my builds in CI differ from what they do on my local machine. I can create as many VMs as I'd like and do a clean install of guix and always end up with the exact same builds, which is what I would expect to happen. But the second I try to
<PotentialUser12>do the same in CI I get different results. Has anyone encountered this before? If it helps: I am using a channels and manifest file with guix time-machine so the machine running CI should be getting set to the right state
<futurile>PotentialUser12: if you run the commands locally using guix time-machine do you get the same outputs each time
<futurile>PotentialUser12: if you have the same inputs etc and you're using time-machine it should repeatedly build to the same package hash
<PotentialUser12>futurile: on all of my local machines I get the exact same outputs each time
<PotentialUser12>on the CI machine I also get consistent outputs, BUT they're different from the results that I get across all of my local machines
<PotentialUser12>I thought maybe my CI machine has some sort of global channel overriding time-machine but I haven't been able to find anything
<freakingpenguin>PotentialUser12: I use Guix for CI builds of a couple projects. Never confirmed the output hash is the same though.
<PotentialUser12>freakingpenguin: I hadn't been checking either but a couple days ago had a unit test inexplicably fail in CI but pass locally, and after some investigation realized the hashes weren't matching up for my environments
<nikolar>futurile: erm the build thing doesn't seem to work
<brendn>How can I remove packages I am no longer using from the store? I ran 'guix shell texlive-scheme-basic' and now I have a bunch of texlive pakcages in the store that don't get removed with 'guix gc'.
<ieure>brendn, Hm, I'd expect those to get GC'd. You can GC a specific path with `guix gc -D /gnu/store/...'
<PotentialUser12>Is there a command that prints the most recent commit that's been pulled in your local guix install? I'm wondering if my channels.scm just isn't being respected and the CI machine is using the most recent commit it knows about.
<PotentialUser12>The reason I think that is I have the channel pinned to a relatively recent commit and after diffing the stores I see most hashes are matching, but a few are not
<freakingpenguin>PotentialUser12: Is guix describe what you want?
<PotentialUser12>yes, thank you
<PotentialUser12>I'm going to pin a local machine to that commit and see if it replicates the CI machine's results
<nikolar>lol pulseaudio depends on inkscape (transitively)
<nikolar>very nice
<faust700>how i can remove package from all profiles, is it possible?
<brendn>ieure: I would think that too. I think I messed something up with my profile because it says it's still alive
<nikolar>ieure: do you happen to know how to rebuild just a package but using substitutes for its dependencies
<ieure>nikolar, That's the default behavior unless you've disabled substitutes.
<nikolar>what do you mean
<ieure>nikolar, Can you be more specific about what part of that statement you don't understand?
<nikolar>default behaviour of what
<ieure>Of Guix.
<nikolar>of what command then
<ieure>`guix build'
<ieure>You're talking about building packages -- that's what does that.
<nikolar>because neitehr guix build X nor guix build --check X rebuild it
<futurile>nikolar: what did guix build --no-substitutes --no-grafts --check <package> show you?
<rekado>note that with grafts you might be rebuilding the graft deriviation, not the actual package itself.
<nikolar>futurile: ok that seems to work
<nikolar>so --no-grafts is the key
<nikolar>oh no wait it's downloading gcc source
<ieure>nikolar, I understand now. IMO `guix build' needs a better option for this. I think `guix build --rounds=2' will do what you want; or you can `guix gc -D' to remove the build output, which will make `guix build package' rebuild it, and use substitutes for deps, if enabled.
<nikolar>so guix gc -D $(guix build X)
<ieure>Yes.
<nikolar>nope, doesn't do it
<futurile>there's no option to tell it to 'download all the things you need to build the package but not the package itself'.
<futurile>if you want the dependencies it's all or nothing so you run two command
<futurile>guix build <package> - that will install ALL the dependencies and the substitute of the package itself
<nikolar>no i mean, i run guix gc -D $(guix build X) && guix build X
<nikolar>but it doesn't rebuild it
<futurile>then do guix build --no-substitutes --no-grafts --check <package>
<futurile>that will rebuild the package locally ignoring the substitute it has - well technically checking that the signatures match
<nikolar>ok i'll try
<PotentialUser12>If I use time-machine to create a shell, what commit sha should guix describe be printing? The one specified in the channels.scm provided to time-machine?
<rodrigo-morales>[question] Yesterday at night, I suscribed my email to the help-guix mailing list and I send a message help-guix@gnu.org to solve an issue that I'm having, but I don't see my message posted in the help-guix archives: https://lists.gnu.org/archive/html/help-guix/2024-08/threads.html . I supose this happened because the mailing list is configured in a way that the first message of a recently suscribed
<rodrigo-morales>user needs to be approved by an administrator. Am I right? If not, what is the reason for my message not appearing in the archive?
<futurile>PotentialUser12: yes. One way I found to test guix-time machine is something like this: guix time-machine --channels=guix-channel-pinned.scm -- shell --container --nesting --network nss-certs openssl coreutils ; then when you run 'guix describe' you should see what you're expecting
<dckc>aHA! bordeaux.guix.gnu.org wasn't authorized
<dckc>what are all these?
<dckc>building /gnu/store/v6m4h3x1624dfk0ywy1h1m69bdwy2zcm-module-import-compiled.drv...
<dckc>building /gnu/store/wm5vgzif3faasxa5lfhvfqznylc65iic-module-import-compiled.drv...
<dckc>building /gnu/store/x711j6x45wzbshpzy9s4dymqydmp8b45-module-import-compiled.drv...
<dckc>ok... I'm back to where `guix system vm` is working; let's see if `guix system init` reuses the same stuff
<dckc>no; "14.9 MB will be downloaded". odd.
<dckc>and then 40MB more, 50MB more...
<dckc>finally! copying to '/mnt'...
<dckc>building /gnu/store/2qaksznf6rni6iv46jr1jn4bbmkzyivg-install-bootloader.scm.drv...
<dckc>guix system: bootloader successfully installed on '#f'
<PotentialUser12>futurile: I don't think I understand how time-machine and shell work. I can use my own channels and manifest like so "guix time-machine -C ./env/channels.scm -- shell -m ./env/manifest.scm" and get a different output from guix describe than when I do "guix time-machine -C ./env/channels.scm -- shell coreutils". Shouldn't the guix describe output be
<PotentialUser12>dependent on the channels?
<faust700>how i can remove package from all profiles? is it possible?
<futurile>faust700: there's not a guix cli command for that
<futurile>faust700: that I know off, anyway
<faust700>so what if i have a broken derivative in some profile? how can i remove it from the system?
<futurile>faust700: a broken package? you could roll-back to an earlier generation? or just remove it using guix package --profile=xxx remove <package-name>
<faust700>futurile: --profile=.... must be a path?
<faust700>futurile: i'm afraid a bit of roll-back
<futurile>faust700: yes - you can use guix package --list-profiles to show the profiles you have - most people just have the default ~/.guix-profile
<futurile>faust700: roll-back is actually just moving some symlinks around - but I know what you mean
<futurile>faust700: why do you think you have a broken derivation? (or do you mean package?)
<faust700>futurile: when i'm trying guix build xdg-utils i have err: error parsing derivative .... string expected
<faust700>futurile: on guix gc -D /gnu/store/....  i got err: cannot delete path ... since it is still alive
<futurile>faust700: you probably have loads of things installed that use xdg-utils
<futurile>faust700: it's building fine on the CI system according to guix weather: guix weather xdg-utils
<futurile>faust700: are you on an exotic architecture or just a standard pc?
<faust700>futurile: thinkpad
<futurile>faust700: what about trying this: guix shell --container --nesting --development xdg-utils --network nss-certs
<futurile>then inside the shell do: guix build xdg-utils --no-substitutes --no-grafts --check
<janneke> https://lwn.net/SubscriberLink/983340/25f5b1f6b1247079/
<theotherone>Hi, I am trying to use a python package in guix shell but python can't find it. This is the command: guix shell python-click python2 -- python. 'import click' doesn't work. GUIX_PYTHONPATH seems to be set in the shell. Do any other variables need to be set?
<faust700>futurile: thanks! will try
<faust700>futurile: do you know is it easy way to remove this derevative from store?
<futurile>faust700: wouldn't have thought so - xdg-utils is going to be quite far down the stack - have you got a problem with your /gnu/store filesystem?
<futurile>faust700: there's a guix gc --verify=contents,repair - might be worth running to check if the store is OK - also check the filesystem it's on
<futurile>theotherone: the python packages work with python3 by default - python2 packages have that in front of them AFAIK - but not an expert in Python
<futurile>theotherone: yep that's the problem - this works: guix shell --container --network python python-click ; python3 ; import click
<theotherone>futurile: Yeah, it works with python3. I am trying to run software which calls `python`. Could I somehow symlink python3 to python? Would that work with guix shell?
<futurile>theotherone: I think you want a package called python-wrapper
<theotherone>futurile: Yes, this is what I was looking for! Thanks. I am trying to get ESP8266-RTOS-SDK running on my system. It has a make menuconfig command which depends on ncurses but it can't find the library and/or header files. Does the ncurses package contain both of them or is one missing?
<faust700>the whole store*
<theotherone>Is there any easy way to get something like the ESP8266_RTOS_SDK running in a Guix Shell?
<faust700>futurile: :  guix gc --verify=contents,repair  output shows: error parsing derivative xdg-utils ....
<faust700>futurile: and a lot of other errors like - error cannot repair path
<futurile>theotherone: ugh I assume that SDK is going to look for normal paths like libs in /lib etc. My advice would be to create a VM and use a 'normal' Linux initially until you figured out what it wants. Guix shell does have a way to fake a 'normal' environment for binaries but it's more often not worth it
<futurile>faust700: oh you have issues then - do you have filesystem problems maybe?
<faust700>futurile: i dont know) how i can check that?
<futurile>faust700: what filesystem is /gnu/store mounted on?
<theotherone>futurile: Ah, ok. Thanks :)
<futurile>faust700: so what does lsblk --fs tell you about the filesystem type?
<futurile>faust700: is this a new installation of guix then?
<faust700>futurile: NAME      FSTYPE FSVER LABEL   UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
<faust700>nvme0n1p1 vfat   FAT32 boot    A9A8-382E                             510.8M     0% /boot/efi
<faust700>└─nvme0n1
<faust700>nvme0n1p2 ext4   1.0   my-root 7243a5bc-65f5-437c-b840-9a2db79899cd  203.3G     7% /gnu/store
<faust700>│                                                                                  /
<faust700>└─nvme0n1
<faust700>futurile: yes its a new install
<futurile>faust700: OK, you should do a google search for e2fsck - I just did "e2fsck ext4" - this should give you some articles to read on how to repair a ext4 filesysstem - or at least check if you've got file system corruption
<futurile>faust700: I have a link to a RedHat docs page - that looks pretty good
<futurile>time for me to sleep - night all
<faust700>futurile: thank you, for help )
<futurile>faust700: no worries - good luck!
<jaft_r`>futurile: tangentially related, what VM options are available for Guix? I was trying to get a VM for Linux Mint setup a few weeks ago but had very little success (granted, I almost always usually use VirtualBox which doesn't seem to be packaged for Guix, right now).
<FlaminWalrus>How does one use guix deploy with GPG authentication keys?>
<FlaminWalrus>The manual seems to indicate that it's only possible by specifying an SSH private key file in the config, but those don't exist when you're using GPG
<ieure>FlaminWalrus, Create a second keypair just for the deployment.