IRC channel logs
2025-11-12.log
back to list of logs
<FuncProgLinux>I've had that issue, it happens on packages where some Make/Meson file is pointing to a wrong path. It sometimes requires you to patch the package build files <JodiJodington>FuncProgLinux: why would meson/make be running in the unpack phase? I didn't check all of them but the gnu build system only ever calls unzip/tar/etc and other build systems seem to just copy it's logic <JodiJodington>tomenzgg: just an idea: if youre pulling an archive, maybe the archive is messed up and has relative paths like `../foo` in it? Maybe try downloading it manually and inspecting it <JodiJodington>oh nvm, just read the logs. the unpack phase for a git-fetch origin should just be a simple recursive copy so that's weird <GuixNoob>Hi cool Guix folks, newbie here and general idiot. So, there's a guix package I want that I can't seem to install (Synfig) due to conflicting entries for libsigc++ <GuixNoob>I tried to look this all up but didn't follow any of it, something about propagated inputs? <GuixNoob>Is this something I'm meant to overcome somehow, or more like an issue with the package? I think I could just install it from flatpak instead if that's right thing to do <JodiJodington>sysnfig doesnt seem to be packaged on the official repos, where are you getting it from? It's probably a bug with the package but I don't know enough about it to say for sure <NuixGoob>If it's just a bug with the package that's a huge relief lol <NuixGoob>I have so many questions, trying not to spam them all! <PotentialUser-85>is guix trying to build the package? If you're not on the guix distro then guix doesn't set up substitutions iirc (which allows you to just download the binary instead of building). I had issues in the past where I couldn't get packages to build and substitutions helped (although it would have been cool to figure the issue out). <NuixGoob>it does seem to find the substitute if i'm understanding correctly <NuixGoob>but there's some sort of dependency conflict? I think? <JodiJodington>I just did `guix shell synfig` and it worked so if youre using substitutes it should be the same <JodiJodington>`guix shell` is just an easy way to see if a package works, it doesn't install the package, it just makes a shell where you can try using it for a bit <NuixGoob>shell is like a container or something right, that would keep the dependencies conflicting? <JodiJodington>there shouldn't be a difference, if it worked on guix shell it would work on guix install too so that isn't the problem <NuixGoob>It's a fresh install (in a vm) of guixsd, synfig is like only the second package I've attempted to install <JodiJodington>shot in the dark but when was the last time you `guix pull`ed? We might be seeing two different versions of the package <NuixGoob>I did all that update stuff in "getting started" first <NuixGoob>guix install: error: profile contains conflicting entries for libsigc++ <NuixGoob>guix install: error: first entry: libsigc++@2.9.3 /gnu/store/d9iana37hs9f88fbzkg5gcnk90f0jmb4-libsigc++-2.9.3 <NuixGoob>guix install: error: ... propagated from glibmm@2.66.6 <NuixGoob>guix install: error: ... propagated from synfig@1.5.3 <NuixGoob>guix install: error: second entry: libsigc++@3.6.0 /gnu/store/vgr2196203911dklim3nfxz8nl4gm0vi-libsigc++-3.6.0 <NuixGoob>guix install: error: ... propagated from synfig@1.5.3 <NuixGoob>hint: You cannot have two different versions or variants of `synfig' in the same profile. <NuixGoob>Oh, the very FIRST package i installed was freecad, which seemed to pull in a lotttttt of stuff <PotentialUser-85>for substitutions, I had to authenticate keys. I'm pretty sure with the guix distro you should do it in the config file, but on the foreign distro I had to `sudo guix archive --authorize < path/to/key.pub`. look at `~/.config/guix/current/share/guix/` for the path to the keys. Before you do this - can anyone confirm or deny this is a good Idea? I'm <NuixGoob>Would that still be the case, if other packages seem to install fine? <NuixGoob>I'm thinking maybe the dependency conflict is from something freecad came with? Could that be it? <JodiJodington>you'd know if you were missing substitutes, stuff would take _ages_ to install since it'd go the full bootstrapping route, like multiple hours <NuixGoob>stuff mostly seems to take a minute or too <FuncProgLinux>JodiJodington: I got lost in the messages was about to reply but seems it got solved x.x <JodiJodington>well from the error it seems like it's all from synfig and it's dependency glibmm. Im just confused why it lets me install it but not you <NuixGoob>i've been installing other stuff while we chat and it all works, it's just synfig that doesn't <NuixGoob>I can either live without it or install it via flathub though <NuixGoob>another question I have is, the manual says "Unless you’re using Guix System, the guix install command must have printed this hint:" <NuixGoob>and then the thing about GUIX_PROFILE="$HOME/.guix-profile" <NuixGoob>i AM using Guix System, but i still see that hint <JodiJodington>I just tested it with `guix install neovim` and it didn't print that hint for me <NuixGoob>it seems to show the hint on some installs and not others? <NuixGoob>If i see it again i'll mention which package it was <JodiJodington>although `guix install synfig` doesn't work for me either, I get the same error as you did before. I think there's just something about the way guix install works that blocks it. Maybe try installing it system-wide in /etc/config.scm (or whatever you named it) or with guix-home if you want it to be only for your user <JodiJodington>honestly never used guix install before so I'm not sure what the difference is <NuixGoob>Should I not be? it was the first thing the manual said to do <NuixGoob>I could instead list all the packages I want in the config.scm right? System-wide is fine <NuixGoob>I've been afraid to mess with the config file because I will surely mess something up lol <FuncProgLinux>NuixGoob: I would advice against installing common software on system-wide configs <FuncProgLinux>Maybe the desktop environment and that is ok there, but your day-to-day software I would suggest you to place it under the home config <NuixGoob>as soon as i know what guix home is, i will attempt that lol <FuncProgLinux>NuixGoob: Ahh, it's similar to your /etc/config.scm but for your home environment. I'm afraid I'm not very informed about the internals of Guix and thus I cannot respond accurately to the $GUIX_PROFILE issue y'all mentioned earlier. <NuixGoob>No worries, everybody's been a great help already just ruling out ridiculous obvious noob things <NuixGoob>I was sure it'd be something obvious on my end lol <NuixGoob>Wait, is it ok to list the packages I already have installed in that home config? <JodiJodington>NuixGoob: about messing up the system configuration: it's alright! you get to choose which generation of the configuration you use every time you boot guix so if something is wrong, just go back a generation. I'm not sure if guix backs up the config file itself, but you could create backups yourself or even put it under version control if you'd like, there's a lot you can do <JodiJodington>FuncProgLinux: personally I have everything system-wide. Home manager is nice for configuring software, but just for installing stuff it shouldn't matter where you put it (unless you have multiple users). That being said, that's mostly because im too lazy to set up home manager rn (I only reinstalled guix a week ago) <GuixNoob>Huh, not sure what happened, sorry. I suddenly can't access this chat from the computer i was on <GuixNoob>Hopefully i didn't any anyone responding <JodiJodington>it says your quit reason was "client closed" though, which to me sounds like <JodiJodington>there's a lot of reasons that mightve happened though so im not going to guess lol <GuixNoob>I thought this was a weird xfce thing, but i switched to a fresh install with gnome and it's still happening. For some reason, certain packages don't have app icons? <JodiJodington>it should work. The package installs a .desktop file that points to an icon and an icon <GuixNoob>Sorry, i just rebooted and now they're visible <GuixNoob>Not sure what that's about but if it works it works! <JodiJodington>it's never happened to me on xfce but gnome's done that for me before (no icons for some stuff before reboot). It's probably just a caching issue, nothing to worry about <GuixNoob>I won't bother everybody with more questions until i try and work on all of this some more first, cool distro! <GuixNoob>Oh actually just one more real quick, if i already installed stuff with guix install, is it ok to list that stuff under packages in the Home config too, or should i guix remove it first <JodiJodington>it's fine, while testing guix install a bit ago I installed neovim which was already in my system profile. it's just two different paths. the `guix install`d one is in ~/.guix-profile and the system-wide one is in /run/current-system/profile. They're just two different profiles <JodiJodington>although at least for me, $PATH has ~/.guix-path listed first though so binaries in there will be preferred. So you may want to remove them just so you don't get confused <apteryx>how can I build just the 'guix-binary-x86_64-linux.tar.xz' release artifact ? <apteryx>Looking at Makefile.am, I assumed: make guix-binary-x86_64-linux.tar.xz <apteryx>But this errors with: make: *** No rule to make target 'guix-binary-x86_64-linux.tar.xz'. Stop. <apteryx>we do have a guix-binary.%.tar.xz: target <apteryx>ah! it's a dot after binary, not a hyphen <apteryx>this works: make guix-binary.x86_64-linux.tar.xz <eikcaz>NuixGoob: try running "guix package -u". It might fix the "no two versions of the same package" error. <tomenzgg>FuncProgLinux and JodiJodington: thanks for weighing in; yeah, it doesn't seem like something that should happen during unpack, of all things. I can't reasonably see how I'm running into it. <JodiJodington>tomenzgg: I did look into it a bit and it looks like go's unpack stage is a bit weird. But still I don't see anything that would make the destinations uddenly stop being writeable halfway through <JodiJodington>also not sure how youd go about debugging it tbh. maybe git bisecting the file that defines the package would be fruitful? I assume it worked at _some_ point <tomenzgg>Both consistent to those packages, though, but not any other problem my system is having building anything else. <JodiJodington>what packages are these? so i can do a bit of testing (can't promise anything) <tomenzgg>Of course; github.com/Azure/go-autorest is the latest one and github.com/charmbracelet/x/conpty is the first one I sent. Both part of my attempt to get Render.com and Fly.io's CLI tools to build (and, ideally, eventually submitted as PRs). Both depend on definitions I wrote for other packages not yet available. <tomenzgg>Let me get the Render.com ones into a paste. It's /far/ less extraneous packages and much less to deal with. In case you want to play around with it, far less work for you. <eikcaz>Woah. My PR just got a curiass bot approval. Didn't know we had that, neat. <JodiJodington>tomenzgg: I looked at how the other go-github-com-charmbracelet-x-* pacakges are defined and they look the same as yours except for the `snippet` field in the origin record. Take a look at that. I copied it from the go-github-com-charmbracelet-x-ansi package def in gnu/packages/golang-xyz.scm into your def and it now builds <tomenzgg>Huh; nice. Thanks so much for spotting that. My brains a little mush from the last few days. /Really/ appreciate it! <pomel0>anyone here uses (service home-sway-type-service) in their home configuration? <pomel0>i'd like to know if they've found a way to add an include statement at the start of the file <mange>pomel0: There's a hacky way to do it, but I can't see a way to include it properly in the current Guix configuration record. <mange>The hacky way would be to define a variable with whatever name, and with the value "value\ninclude ...", so the include gets written out on a new line. <pomel0>I'll read the mailing list later, thanks :] <meaty>specifically I'm worried about section III, paragraph 2, "You are not allowed to distribute PinMAME in any form if you sell, advertise, or publicize illegal CD-ROMs or other media containing ROM images." <meaty>oh wait, section VI, non-commercial clause. dang <meaty>FSDG licenses aren't allowed to forbid unlawful usage, right? <Hamled>Does anyone here use direnv with the "use guix" function? Is there a way to get it to work with the "strict_env" setting <mange>I use direnv, I am unfamiliar with strict_env. What's that? <Hamled>it does like set -u and -e I think <mange>Can you just put "use guix" before "strict_env"? <Hamled>Yeah, you can also use the "unstrict_env" to opt out for a specific command, I just wasn't sure if I was maybe misunderstanding how to use it <mange>I thought that "use guix" was basically just "eval guix shell --search-paths", but doing that directly actually seems to work. <mange>Hmm. I don't know why it fails, then! <Hamled>Hmm, maybe it's just the specific packages I'm adding to the environment, when I add pkg-config I get ./.envrc:3: PKG_CONFIG_PATH: unbound variable (with strict_env enabled) <mange>Yeah, I get the same for C_INCLUDE_PATH for something I'm working with. <mange>I assume it's just any search path that you don't already have set in your shell will break things. <Hamled>okay, will just avoid strict mode for it then :D <mange>Ah, never mind, doing "eval $(guix ...)" breaks in the same way as "use guix". So at least that's consistent. <mange>And yeah, of course, it's because of the way the variables are set. Which is obvious when you look at it: export C_INCLUDE_PATH="[...]$C_INCLUDE_PATH" <Hamled>Hmm, I guess it's trying to avoid using anything that isn't standard shell syntax like ${C_INCLUDE_PATH:+:$C_INCLUDE_PATH} <mange>I cut off too much. It actually has ${C_INCLUDE_PATH:+:}$C_INCLUDE_PATH at the end. :P <Hamled>Oh, so maybe it's just a matter of switching how that definition is composed... I'll take a look at the history of that code and see if there's a reason not to do it that way, thanks <mange>The relevant code is in guix/search-paths.scm, but there are some other similar looking bits elsewhere, too. <mange>What does "guix weather icedove-minimal" say for you? <adanska>but `guix weather icedove` is green.. <tomenzgg>With substitute*, is there any way to target multiple lines? Any use of "\n" in the regexp., even in cases caught by functions in (ice-9 regexp), seems to just result in no match. <adanska>tomenzgg, not really. in those cases its better to go all in on just using a patch <attila_lendvai>i'm looking at lean4's package. it fails to build in a strange way: make errors, but somehow a zero exit code is propagated upwards, and an empty guix package is created. then i cd into the build dir, issue a make -j8 and it continues building as if everything was fine, just the build was interrupted... <hanker>Why doesn't Guix have an endlessh service? <hanker>maybe more bizarrely- there's a patch adding endlessh mentioned in the mumi command-line interface <identity>hanker: because the patch was not merged? not sure what is so bizarre about that <hanker>searching "endlessh" on the guix docs brings up the mumi docs, which is confusing <hanker>the patch is also generally good afaict, a minimal version could be merged <efraim>how do I get a specific input of one package? I want to use the same clang that rust uses without copying the version around <kestrelwx>efraim: `(assoc-ref %name% (package-inputs ...)`? <kestrelwx>Well, transposed arguments. `(assoc-ref (package-inputs ...) %name%)` <PotentialUser-85>I'm trying to package something and I've got it to build successfully. I now have a silly problems: 1. How do I tell guix that I want to add the produced binary to the path? It doesn't seem to happen automagically but I can run the Program in the store (I'm using the cmake build system). Keywords to search in the Reference Manual would also help me <identity>PotentialUser-85: you need to install the package <PotentialUser-85>I think I'm doing that? I'm doing `guix shell -L . etterna` which, I think, should give me a shell with access to the package <PotentialUser-85>well then I'm trying to launch `Etterna` and it can't find it. But `/gnu/store/<hash>-etterna-0.74.4/Etterna/Etterna` exists <efraim>it should be in /gnu/store/...-etterna-0.74.4/bin/Etterna <identity>PotentialUser-85: is the binary really in /gnu/store/…-eterna-x.y.z/Etterna/? <PotentialUser-85>yea.. maybe there is another (valid) binary in a bin directory somewhere but this is the one I found and that worked. I'll go look for it <PotentialUser-85>on the other hand: do I just need to move or simlink it to /gnu/store/...-etterna-x.y.z/bin/ for it to work? That doesn't sound too bad <Deltafire>sounds like the package was built, but the install step not run <efraim>if it uses cmake then you'll want to use the cmake-build-system <identity>PotentialUser-85: note that if you are fetching a git tag you really should use git-fetch instead of url-fetch <PotentialUser-85>yea that's what I wanted to do: git was complaining about a detached head and I wasn't sure how to solve that and url-fetch just worked <identity>PotentialUser-85: i am pretty sure that detached head is normal and there was some other issue <PotentialUser-85>that's what I was thinking haha - I'll go check if it was something else entirely <JodiJodington>hi! I'm trying to switch from gdm to lightdm. I remved gdm from my system via `(modify-services %desktop-services (delete gdm-service-type))` and added lightdm-service-type to my list of services, but now I get this error when reconfiguring (and nothing else): "guix system: error: service 'xorg-server' provided more than once". I tried grepping for xorg-server in gnu/services/ and it does say <JodiJodington>lightdm-service-type provides xorg-server, but I don't see what else would be providing it <identity>JodiJodington: do you have set-xorg-configuration in your system config? <JodiJodington>moved my xorg-configuration into `(lightdm-service-type (lightdm-configuration (xorg-configuration ...)))` and all is well now, thank you identity! <PotentialUser-85>aah it was probably a hash mismatch and I was too dumb to actually read the error message in the console - git-fetch works! <JodiJodington>PotentialUser-85: it doesn't look like the project's CMakeLists.txt even installs anything so the install step of the cmake-build-system won't do anything. You should probably just replace it with `(copy-file "Etterna" (string-append $#output "/bin"))` or something along those lines <JodiJodington>you could also patch the CMAkeList.txt file to have install_bin(Etterna) but I think that's a lot messier <PotentialUser-85>got it - I'll just modify the install-step, right? I'm gonna look that up! Thanks! <identity>install-file creates the target directory if it does not exist <efraim>copy-file is also good if you want to change the name between the source and the destination <identity>i notice that home-niri-service starts a dbus session (and thus the dbus daemon) but does not have 'dbus in its provisions, which means you have to also use the home-dbus-service for home-pipewire-service, and now you have 2 dbus daemons running… <nckx>Not a Shepherd knower, but is that how provision works? I didn't think it was that magic. If the service code starts a session, merely providing 'dbus won't stop it or start dbus beforehand. I thought. <identity>nckx: the niri service starts dbus but does not tell shepherd about it <identity>the pipewire services depends on a dbus running, but shepherd does not know that niri runs a dbus, so the dependency is not satisfied <ieure>Anyone seeing issues with git-2.51.2 failing to build? Pulled last night, `guix home reconfigure' tried building git instead of substituting, but the build failed. <ieure>The store item has a reference to perl somehow, which I guess isn't an input to the package. <ieure>Okay, hmm, something else is funky here. <flypaper-ultimat>ieure: no problem with `guix build --check --no-grafts git-minimal` on 2008750c92b090bfbc3b3454a847c32dc84a152e (pulled 10 minutes ago or so) <lenx>I have substitutes set up but for some reason "guix home reconfigure" is building everything <ieure>lenx, Substitutes are not a guarantee that you won't have to build. <lenx>Thing is this happened right after I moved a lot of packages from operating-system to home-environment <lenx>So I was wondering if that could somehow be related <Rutherther>lenx: are you using guix with same channel revisions as you did with the operating system? <lenx>Not sure how to check that <lenx>Rutherther: just checked with describe, I'm on the same branch revisions <Rutherther>identity just adding a dbus provision would do more harm. Two dbus sessions arent 'equal'. And Apart from the session you also need a proper env var so that the user can use it <Rutherther>Really the proper course of action here seems to be to depend on the dbus service, possibly optionally, creating a separate session if user chooses that <nckx>I am glad that the rule still holds that when I return to K and want to reply to something, Rutherther has just replied exactly what I would've. This is convenient for me. <nckx>ieure: I can't get (g)it to fail. <ieure>nckx, I pushed the fix which lilyp wrote. <Rutherther>nckx: Oh my, I hope it doesnt mean you are going to disappear from face of the earth again <nckx>ieure: Ah, I didn't pull in the interim, but good. <JodiJodington>was going to ask why niri needs to be spawned via `dbus-run-session` anyway <Rutherther>JodiJodington: tbh I doubt it does, but I havent used it. My guess is that this is recommended somewhere since most people on wayland will want to use dbus for Xdg desktop portal. Not sure why it was put to the service. <yelninei>i love problems that go away when adding --disable-chroot <civodul>yelninei: usually that’s a pretty bad sign :-) <yelninei>civodul: Tell that to gawk. Something between 5.3.0 and 5.3.1 breaks glibc :( <yelninei>civodul: No linux. not even trying hurd yet. <yelninei>at least a plain inherited gawk 5.3.1/5.3.2 als fails tests in the chroot which feels related <gabber>or wait, isn't this POSIX (and /even/ implemented in Guix) <yelninei>not in the chroot containers. (and disabling the chroot made it magically work). We patch these to the full path to our bash <csantosb>Evening Guix ! Who is the master of the codeberg labels ? I'd need to include a "team-crypto" one to track issues / pr. <Rutherther>csantosb: are you a member of team? any member can create labels <csantosb>I'm THE member of the team. How can I create a new label ? <csantosb>(not append an existing label to an issue) <ieure>I'm not sure you can create a new label unless you're a project collaborator, which implies commit access, and csantosb isn't a committer. <Rutherther>ieure: yes, any member can create labels. It doesn't matter if they are a committer <ieure>csantosb, Just wanted to say that I really appreciate all you do for Guix, and if you ever want to apply for commit access, I would happily vouch for you. <csantosb>How can I exactly create a new label ? 🤔 <Rutherther>csantosb: by going to Labels under Issues and clicking on New label as is shown on the doc page I sent <csantosb>ieure: Thanks ! I definitely learned something new today 😯 <ieure>helaoban, Looks like it was fixed fairly recently, is the problem reproducing on a newer Guix? <helaoban>It looks like this issue was fixed with e0e64be, by reverting a previous commit which introduced a lock mounts codepath. <helaoban>But then this codepath seems to have been reintroduced with 10edda5. <ieure>helaoban, Okay, suggest reopening that issue and reporting your results, then. <helaoban>I can confirm that pinning guix to d014454, the parent of 10edda5, fixes the issue. <ieure>helaoban, Seems like 10edda5 was intended to solve the issue, it wasn't a clean unrevert of the backed out commits. So must be some other thing happening now. <helaoban>ieure: yeah, I'll see if I can be helpful in pinpointing the issue when I submit. <gabber>any tips for me? i'm packaging software that takes long-ish to build (2h) and i have troubles getting the outputs right. it builds just fine, but i need to fine-tune the install phase -- can i speed the re-iteration process up a notch or should i just use the time inbetween (failing) re-builds with some fun activity? <meatoid>gabber: if the there are no sources of nondeterminism, it should be a-ok to go play some games while you wait <ieure>gabber, I feel your pain. You might `guix build -K' to keep the failed build, then `guix shell -D yourpackagename' and cd into the build dir to try stuff. <meatoid>try pcsx2 gabber, I just packaged it :) <gabber>ACTION phantasizes about a REPL to be thrown into when a build process fails so we can fix it interactively and not go through the whole shabang again-and-again <meatoid>that will keep the failed build dir around to poke at <gabber>ieure, meatoid: i'm doing that more or less now (: <ieure>gabber, I don't think there's an actual good solution to this. I've thought about having a Dockerfile-style layer system, where the changes of each build phase would get captured in a phase-specific overlayfs, allowing you to reuse earlier phases. <meatoid>then, you can make a dev shell from the package def to get the same environment <gabber>meatoid: so, exactly what ieure suggested? ;) <gabber>ACTION dreams of true interactive Guile programming every once in a while <meatoid>I miss the missing variable prompting from common lisp sometimes <gabber>yeah, that's pretty much my (and probably everyone else's) workflow currently.. but a single typo somewhere makes me wait another 2hrs for the next attempt <meatoid>If there was a way to do that, *and* have module (REPL) defintions pretty-printed out into a file... it would be so awesome <meatoid>some smalltalks do it iirc, and interlisp <meatoid>gabber: what are you packaging? a web browser? <gabber>huh. i can't ls a /tmp/guix-build-foo directory during build? <ieure>gabber, The build happens in an isolated environment which doesn't have access to the whole filesystem, so, no. <gabber>well, i knew that — i think i'm more surprised about the fact that the path exists <meatoid>I wonder if guix is a good candidate for institutional settings... like, managing a fleet of laptops for a school or company <gabber>meatoid: i thing bare guix isn't, but could be used well as a basis for some neat institutionally equalized OS