IRC channel logs

2025-12-15.log

back to list of logs

<ieure>sneek, later tell loquatdev The command a shepherd service ran is in the output of `herd status SERVICE'.
<sneek>Will do.
<avalenn>cbaines: it is a rust problem, but one I only have with the rust in Guix
<avalenn>the thing is that binaries generated are mostly statically-linked except for libc
<avalenn>and what is leaking is the runpath
<kkremitzki>Howdy all... bit of a drive-by comment but thanks in advance to those who are ushering along the 1.5.0 release
<meaty>what's the best way to find out when a package broke? I know ci keeps build logs
<avalenn> https://ci.guix.gnu.org/ is unavailable right now (error 502)
<cow_2001>how do ya run guix containered gui-ish stuff? like gtk stuff
<boathouse2112>I've downloaded the Guix installer script, and installed Guix 1.4.0. When I try to run `guix pull --url=https://codeberg.org/guix/guix.git`, I get "guix pull: error: build of `/gnu/store/pn2ydkjk1962imcgp45za253d8lxryqd-compute-guix-derivation.drv' failed", logs here: https://pastebin.com/xS4Zdt03.
<boathouse2112>Not sure why everything is failing with "Temporary failure in name resolution". Host system is Fedora, but I followed the SE Linux instructions in the manual.
<boathouse2112>Oh, well `sudo setenforce 0` then `guix pull url=...` worked normally. Guess it was an SELinux issue.
<futurile>REMINDER: last 6 places for Guix Days - https://libreplanet.org/wiki/Group:Guix/FOSDEM2026 - and https://opencollective.com/guix-foundation/events/guix-days-2026-33f30f0e
<nckx>Please, it is imperative that y'all sign up for the Guix Days so I can stop seeing these depressing reminders that I can't attend. Thank you.
<yarl>Hello.
<yarl>Someone from haskell team?
<kestrelwx>bdju: Hi! The QtWebEngine fix is now on master. I'm curious if it now segfaults for Nouveau users on maybe Kepler generation or so. On my Maxwell GPU it works fine.
<theotherone>Hello, I can't connect to my uni vpn. I installed openconnect and network-manager-openconnect system-wide. I used openconnect-sso before, but it got removed. The uni uses cisco anyconnect. Running 'nmcli connection up myVPN --ask' as a user gives: openconnect failed: could not find openconnect binary. Any cisco anyconnect users out there that got SAML working?
<Rutherther>network-manager-openconnect supposedly goes to "vpn-plugins" of network-manager-service-type's configuration
<theotherone>This is what I have in my system.scm: (modify-services %desktop-services (network-manager-service-type config => (network-manager-configuration (inherit config) (vpn-plugins (list network-manager-openconnect)))))
<yarl>ghc-7 (7.10.3), which is used to build ghc-8, which etc... uses a binary distribution of ghc (7.8.4) for bootstrap. There is a hack in 'configure-bin that makes a symlink to libncursesw.so.X as libtinfo.so.5 but ncurses is now at 6.2, ABI incompatible. I wonder if this is known and if this could be a problem and should be at least mentioned in a new issue or mail to dev and haskell team. I am just trying to get ghc
<yarl>for aarch64 while knowing not much about it.
<yarl>What do you think?
<theotherone>kestrelwx: Just fetched the updated qtwebengine. Works great on my end :) Thx
<yelninei>is someone here able to build arm32 packages natively to test guix/guix!4860 ? For me with qemu-binfmt it just crashes at the tests.
<csantosb>kestrelwx: See https://codeberg.org/guix/guix/pulls/4745#issue-2838726
<csantosb>Sorry, theotherone
<basicnpc>guix environment is deprecated for guix shell, does that mean I should skip reading chap6 of the cookbook?
<Rutherther>I don't see anything related to guix environment in chapter 6 in the latest cookbook
<theotherone>csantosb: Oh, nice. Will a SAML workflow be possible with the updated package?
<basicnpc>Rutherther: Ah, I got confused. Chap 6 does have a note though: "This section is an opinionated guide on the use of multiple profiles. It predates guix shell and its fast profile cache"
<Rutherther>that is right, although it doesn't have anything to do with "guix environment". It works with guix package.
<csantosb>theotherone: Probably. Notice that this has been merged in master-next branch, though.
<yarl>I manage to install ghc from binary distribution 8.2.1 on aarch64. I can `./pre-inst-env guix build ghc-binary` (that's the name I gave it. But If I try to do `./pre-inst-env guix shell ghc-binary` it wants to build 8.6.4, 8.10.7, 9.2.8 . Why?
<yarl> http://paste.debian.net/1414172
<Rutherther>yarl: what's the full --dry-run output of guix shell and of guix build?
<yarl> https://paste.debian.net/1414175/
<Rutherther>okay and the ghc-binary has been substituted or built on your machine?
<yarl>Built
<yarl>I defined it as in the previous paste
<yarl>in gnu/packages/haskell.scm
<yarl> http://paste.debian.net/1414172
<Rutherther>yes, I saw it. hmm, I think I see it, it's going to be the ghc-package-cache-file that's built for the shell profile
<Rutherther>yarl: as a workaround you can rename it so that it doesn't have ghc- prefix
<yarl>hmm I see.
<yarl>Right, just got it
<cwebber>hello hello
<cwebber>talking about haskell eh? :)
<yarl>Rutherther: Thank you
<cwebber>I just tried moving over to an aarch64 machine and ran into the fun situation that Haskell (and thus git-annex) is not available on aarch64 due to challenges bootstrapping it
<yarl>cwebber: Absolutely.
<yarl>I am trying to package it for aarch64. But I'm neither a packager nor an haskeller.
<yarl>pandoc, R, etc
<cwebber>yarl: oh wow! you're doing some holy work there
<yarl>Rutherther: Thank you and, by the way, did you read my comment about libtinfo.so.5/libncursesw.so.6?
<yarl>cwebber: Feels like hell.
<Rutherther>I have and I don't know. As far as I can tell this is used only in the bootstrap chain, no? and if so, if the build succeeds, I guess there isn't really a problem despite it being ABI incompatible
<cwebber>ACTION hands yarl some holy water to fend off the demons
<cwebber>yarl: I'd like to move to my MNT Pocket Reform as my full time machine
<cwebber>so I'd love to see progress here
<yarl>Rutherther: Yes I guess.
<yarl>Renamed it to notghc-binary... I can have a shell with it now. Next is getting 8.4.4 to build against it.
<cwebber>\o/
<cwebber>go yarl go!
<ente>how do I set the default-url for `guix pull` to codeberg? I'm currently passing --url= on the commandline.
<gabber>ente: which URL is used by default?
<gabber>git.guix.gnu.org is a redirect to codeberg IIRC
<ente>ah
<ente>ok then nevermind
<gabber>but i do!
<gabber>what made you think you had to change/switch anything?
<ente>I thought I was pulling from one of the slower gnu.org services
<gabber>you are not the first person who thought they had to take action
<ente>switched substitutes just now because the mirrors seem to be faster
<ente>figured I should switch the pull url as well
<gabber>because `guix pull` was somewhat slow?
<gabber>switched the substitutes to where? did i miss something?
<ente>I felt that it was faster with `guix pull --url=https://codeberg.org/guix/guix`
<ente>but maybe I was imagining that
<ente>didn't measure
<ente>there's a couple of mirrors on the substitutes section of some guix wiki
<ente>I'm using https://hydra-guix-129.guix.gnu.org/
<ente>I get 5MBit/s rather than couple hundred KBit/s
<ente>since I'm downloading updates when I'm at college and I only spend a limited time there next to a power socket I want to finish as fast as possible
<gabber>ente: i see! thanks for the hint!
<ente>gabber: https://paste.xinu.at/Kyor8O/ here's the services section I use for that
<ente>(see bottom)
<ente>seems to work well
<Rutherther>someone understand the generation of guix profile? Why does (current-guix) or guix when you pull miss "lib/systemd/system/gnu-store.mount", while the guix package has it?
<Rutherther>"/var/guix/profiles/per-user/ruther/current-guix/lib/systemd/system" has "guix-daemon.service guix-gc.service guix-publish.service", so gnu-store.mount is the only one it's missing...
<Rutherther>no sorry it's also guix-gc.timer that it's missing, curiously all the files that aren't *.service
<Rutherther>seems this could be taken from guix/self.scm? It misses those two files
<RavenJoad>Can "guix pull" pull a single channel locally? I am messing around with finding patches in my own channel by copying Guix's infrastructure. When I do "guix pull --url="$HOME/my-channel --profile=/tmp/my-channel.master", Guix attempts to build.
<gabber>RavenJoad: it always pulls the main channel
<gabber>you can omit the other ones with the `-q` flag
<RavenJoad>gabber: Adding -q just means that my channel is considered to be "guix". I also don't provide a build-aux/build-self.scm file.
<Rutherther>RavenJoad: not really, but if you do "guix describe -f channels > /tmp/channels.scm", then remove commit from channel you want to update and guix pull -C /tmp/channels.scm, you get just that one channel updated. Don't set --url to your channel, --url is for *guix* channel.
<Rutherther>every channel implicitly depends on guix channel. It is impossible to build channels without guix channel as the code for the build is in guix channel...
<dariqq>RavenJoad: For patches they need to be relative to the root of your channel modules (or you can parameterize %patch-path before calling search-patches)
<RavenJoad>Ok, the file is a perfectly fine way to do it.
<RavenJoad>dariqq: I am doing that. But I need to
<RavenJoad>need to "discover" the location of my channel after a pull too.
<Rutherther>if you are trying to replace guix, you will have to copy over the whole infractucture for doing builds of guix channels and all its dependencies
<RavenJoad>I'm not trying to replace Guix. I just want to be able to find patches with search-patches like Guix does.
<Rutherther>I am responding to that "Can "guix pull" pull a single channel locally?" question
<RavenJoad>Ah. Yeah, I got that. I did not want to do that, which is why I came to ask before I went down the rabbit hole.
<FuncProgLinux>For specific channels pulling I think a member already approved changes on https://codeberg.org/guix/guix/pulls/2241
<FuncProgLinux>but idk if that's for 1.5.0 or if it went stale
<RavenJoad>It doesn't look like that has made it into Guix yet.
<attila_lendvai>when herd just hangs, is there a signal that i can send to shepherd to initiate a shutdown?
<identity>well, sending SIGKILL to PID 1 is a sure way to shutdown the system, but making that work is kind of convoluted
<attila_lendvai>i think i'll just pull the plug after a sync. life is too short... :)
<dariqq>maybe guile -c '((@ shepherd support) power-off)' (or reboot) ?
<Rutherther>don't do that attila_lendvai
<Rutherther>rather use the sysrq magic
<Rutherther>ie. https://medium.com/@williamwsm/magic-sysrq-key-to-the-rescue-d3154a095a44. alt+sysrq+X, where X is in sequence: r, e, i, s, u, b
<gabber>huh, the manual and the help text for `guix gc` differ. one says --delete-generations[=PATTERN] while the other states --delete-generations[=DURATION]
<Rutherther>both are correct though :) well it should be PATTERN or DURATION really
<gabber>Rutherther: this sounds contradictory. i feel this could use some clarification in one place, the other or probably both.
<gabber>when i state -d 2m (like in the exa
<gabber>ample) does it search for the pattern 2m?
<Rutherther>no, that's duration
<gabber>yes, i know. but in reference to the help text, this is how this invokation is likely to be interpreted
<gabber>can someone give me an example for a "pattern" usage?
<Rutherther>"=1..2"
<Rutherther>"=1,2,3", "=1.." etc.
<gabber>i see!
<gabber>thanks
<gabber>i doubt anybody would guess how that worked, without further digging (into mailing lists? the sources?)
<ieure>gabber, Well, guessing is going to have a low success rate with anything, but it's clearly documented in the manual.
<Rutherther>all the valid values are documented here https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-package.html#index-generations-1. Maybe all the places that need them could link to just one source of the truth that defines it, rather than having it under guix package, yeah
<ieure>Rutherther, "guix package" is a weird place for that IMO, I assume this is because the Guix CLI is tremendously inconsistent and overloaded.
<ieure>I'd still really like to do something about that, but it'd break basically all use of the `guix' commands, since there's no way to make it consistently logical without significantly changing how it all works.
<gabber>ieure: it seems to be documented in the manual, but spread across multiple pages. who would have guessed that the invokation of `guix gc -d` is best documented in the section for `guix package`?
<Rutherther>isn't it 'inconsistent' just because guix package has been done first, with somewhat not good design that has been changed for guix system/home for a better design? Ie. having the possibility to do --list-generations --delete-generations doesn't really make much sense, it's much more sensible to have a subcommand to make them mutually exlusive
<gabber>Rutherther: i can't find examples like the ones you gave in the manual..? but i guess that's on me?
<Rutherther>they're there right at the place I sent, no? in that --list-generation option documentation
<gabber>ah, YES!
<gabber>ok
<gabber>so i guess a sensible thing to do would be to extract that passage to a separate section and link to it from the various places where it is valid. both from the manual and the help text(s)
<Rutherther>+1
<gabber>i'll open an issue so i won't forget (:
<ieure>Rutherther, There's some inconsistency from legacy, like listing/deleting generations being option style for some commands and subcommand style for others, but there are plenty of cases where it's internally inconsistent, too. Here's an email I write about it a while back: https://lists.gnu.org/archive/html/guix-devel/2024-01/msg00140.html
<ieure>Rutherther, This email seemed to get some good response, but nothing seems to have come of it. It's way down the priority list, but is still something I want to work on long-term. I think we actually need to make a Guile library to support this kind of setup first, and have some kind of fairly easy backwards-compatibility mechanism.
<FuncProgLinux>Is the "don't install toolchains" on the profiles issue still happening?
<gabber>can i assume correctly that we DO create and populate /sbin in some packages, right? or do we just not do that?
<FuncProgLinux>I think Go needs a merge request to add gcc-toolchain for it.
<ieure>gabber, Some packages have sbin directories, this will result in a sbin directory in your profile if one or more of them get included.
<FuncProgLinux>It doesn't need it to "work" 100% as long as you compile everything with CGO_ENABLED=0, but aside from that case compilation WILL fail on shells/container shells. Until you add gcc-toolchain to the manifest file.
<ieure>gabber, ex. I have `~/.guix-home/profile/sbin' with stuff in it. But there's no /sbin on the filesystem, because there's almost nothing in / on Guix System. ex. /bin only has sh, /usr/bin only has env. This is just for compatibility with scripts.
<gabber>ieure: that i know. i was wondering if we have packages that populate /gnu/store/<hash>-foo/sbin
<ieure>gabber, Yes, and it's extremely trivial to see this: ls -ld /gnu/store/*/sbin | head
<gabber>thanks!
<gabber>ACTION wonders if https://termbin.com/z9kj means i have to create that /sbin directory before the 'wrap phase
<attila_lendvai>ACTION appreciates Rutherther's suggestion
<ieure>gabber, I think 'wrap happens after 'install, yeah?
<Rutherther>gabber: what are you trying to wrap it if doesn't exist?
<ieure>Yeah, this is what I'm wondering.
<gabber>me personally, i am not trying to or wrapping anything myself. the pyproject-build-phase on the other hand seems to do that by default
<gabber>i am working on a fix for the unusably borked mailman package
<Rutherther>hmm, does it not check if it exists first? that's strange
<gabber>i think it just doesn't abort the build
<ieure>Where does it even get the path from if it doesn't exist?
<attila_lendvai>there's no `herd restart gdm`... what's the guix equivalent?
<Rutherther>"herd restart xorg-server"
<attila_lendvai>but i'm running on wayland (i think)
<attila_lendvai>ACTION tries anyway
<Rutherther>that doesn't matter, that's the provision gdm service gives, plus not really sure if gdm can run as wayland only
<ieure>The display manager / xorg setup in Guix could use some improvement.
<Rutherther>is it fine if I create a jobset on ci for ungraft branch? ie. resource wise. Who can decide that?
<tschilp>Hi guix! I'm scratching my head where this funny value for PS1 comes from: http://paste.debian.net/1414238. This is in my .bashrc: http://paste.debian.net/1414239. If I switch to another tty I get the PS1 value from what is set in .bashrc. Do you have an idea where this value sources from?
<ieure>tschilp, Which part of that is funny?
<luca>Check out https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-shell.html (and search for GUIX_ENVIRONMENT)
<ieure>PS1 on Guix System is set by /etc/bashrc: PS1='\u@\h \w${GUIX_ENVIRONMENT:+ [env]}\$ '
<ieure>Something else is adding escapes to colorize the prompt.
<tschilp>ieure: the ~[\[e ...~ part, I cannot figure out where this comes from. I'm actually thinking about colorizing my PS1, because currently its just white on black background, that's how I encountered it.
<ieure>tschilp, You could use a big hammer and add `set -x` to /etc/bashrc and log out/back in.
<tschilp>What baffles me most is that I already duckduckgo-ed '\[\e]133;D;$?\e\\\e]133;A\e\\\]' in iceweasel's searchbar and it brings me there: https://de.wikipedia.org/wiki/Brillantblau_FCF :P. Maybe that's a hint and I should use that color for my prompt!
<tschilp>The string actually looks like something I might have desperately tried 1-2 years ago, but I cannot find traces of it neither in .profile, .bashrc, .bash_profile, /etc/bashrc nor /etc/profile. .bashrc only contains a few aliases set via 'home-bash-configuration' and other than that is exactly the same as /etc/bashrc: http://paste.debian.net/1414245
<tschilp>It's getting even more funny, if I search for the trailing part: '\[\e]133;B\e\\\]', this results in the English version of the above wikipedia site: https://en.wikipedia.org/wiki/Brilliant_blue_FCF
<ieure>tschilp, It's not a very unique escape sequence, I wouldn't assume searching it would do anything. Also modern search engines ignore non-alphanumerics, so aren't useful for finding something like this.
<tschilp>ieure: do you have a hint, where I could find out about its meaning? my ANSI is quasi non-existent...
<gabber>tschilp: the \[ and \e parts are delimiters to indicate color or other font changes
<gabber>let me dig up a link....
<ieure>Yes, they're terminal escape codes.
<ieure>Which all start with ESC] characters, \e generates the escape for you.
<gabber> https://en.wikipedia.org/wiki/ANSI_escape_code#Select_Graphic_Rendition_parameters
<ieure>Yeah. There are a lot of escapes these days, as people continue to shove increasingly-inadvisable features into an abstraction which has run its course. Stuff like sixels.
<gabber>and the `Control Sequence Introducer commands' section
<tschilp>gabber: thanks, it looks like using something like '\e[34m\u@\h \w${GUIX_ENVIRONMENT:+ [env]} \$ \e[m' pretty much does what I need...
<tschilp>the one I have here, from which I don't know where it comes from, does not seem to do anything. Or, more likely, nothing I can see/understand currently. I guess I'll just replace it.
<tschilp>or better just leave it as is. the value I thought of seriously borks my shell-behaviour...