IRC channel logs

2026-08-22.log

back to list of logs

<PuercoPop>Anyone knows why some home services use mixed-text-file when serializing their configuration vs others that call serialize-foo directly? e.j. https://codeberg.org/guix/guix/src/commit/58091d1b6e33d978b06ea05e3dedb3203720a64d/gnu/home/services/mpv.scm#L2771-L2773 vs https://codeberg.org/guix/guix/src/commit/58091d1b6e33d978b06ea05e3dedb3203720a64d/gnu/home/services/desktop.scm#L511-L512
<hjolmir_the_peni>in the latter case, serialize-home-darkman-configuration seems to be a thin wrapper around mixed-text-file
<PuercoPop>hjolmir_the_peni: 🤦️. Should have read the function above. Thanks
<redacted>I'm trying to package a project that's built with clang, but I'm getting "ld.lld: error: unable to find library -lc++". I'm not clear on why it wouldn't find that library.
<RavenJoad>redacted: "-lc++" is actually libc++ or libstdc++, I think. You have to grab that from either gcc-toolchain or the lib output of gcc(?).
<RavenJoad>Or perhaps use the clang-toolchain package instead of just clang.
<RavenJoad>I take that back. I'm not sure what libc++ is. I would assume they mean libstdc++, but am not sure.
<RavenJoad>redacted: https://libcxx.llvm.org/
<RavenJoad>redacted: Found the package after find-ing my entire store. It's libcxx. guix build libcxx |- /gnu/store/...-libcxx-19.1.7/lib/libc++.so
<redacted>RavenJoad: That got me past the error. Thank you!
<redacted>Still some kind of linker problem, but it's finding the library now.
<RavenJoad>redacted: Good. Finding those "base" C/C++ libraries are always a pain.
<perryprog>musl more like... missing? No? I'll show myself out.
<redacted>Looks like some of the standard symbols aren't defined now.
<redacted>Stuff like std::__cxx11::basic_stringstream
<redacted>Maybe it's the wrong version of the libraries
<redacted>Oof. Might have to update libcxx
<redacted>It's a weird situation. It fails to build as a submodule of the source tree, but it builds if I break it off into its own package.
<redacted>It's so project specific, though, I'm unsure if it should be its own package.
<redacted>It only appeared to build in its own package because I defined the package wrong and built nothing.
<redacted>Ooopsie poopsie
<jonsger>is there somewhere a tutorial how to "guix pull" and "guix system reconfigure" from a codeberg "agit branch"?
<jonsger>I got the pull working: guix pull --url=https://codeberg.org/guix/guix --branch=refs/pull/10704/head --disable-authentication
<jonsger>but the reconfigure fails with: guix/ui.scm:1033:18: Git-Fehler: object not found - no match for id (d0156bd12b43b763c01b9be675fad9625a38c697)
<redacted>jonsger, oh, I did this recently. Let me see if I remember how it worked.
<redacted>Ah, I think I did it by using a Guix Inferior for the channel instead of manually pulling like that.
<redacted>Maybe it would work to reconfigure with guix time-machine instead of pulling
<untrusem>yep it will
<jonsger>oke, will try. As a workaround I pushed the branch to my guix repo on gitlab :)
<redacted>I'm having some trouble debugging a build that uses cmake. Seems like I can't do the build manually by keeping the build directory with -K.
<redacted>cmake complains that the CMakeFiles.txt is different
<redacted>Ah, it looks like it wants CMakeCache.txt to be in the same directory it was generated in
<redacted>I probably need to clean out build/ and start fresh
<redacted>that was the thing
<n|Phreak>Is anyone programming in racket and compiles to standalone binaries ?
<stanrifkin_>n|Phreak: What is with it?
<n|Phreak>Just curious if others are doing the samething and how ?
<n|Phreak>This is how I create standalone binaries https://nixfreak.mataroa.blog/racket-lang-run-standalone/
<stanrifkin_>n|Phreak: What does the --guix option do?
<n|Phreak>its the only way I can get racket gui to actual work without dr racket
<stanrifkin_>so it's rather --gui
<n|Phreak>correct
<stanrifkin_>n|Phreak: And how large is the executable then?
<stanrifkin_>the last time I looked at it they were around 100 MiB
<n|Phreak>4Kb
<stanrifkin_>interesting
<n|Phreak>oops sorry disregard
<stanrifkin_>My version of racket is quite old. Just installing a new version.
<n|Phreak>file main_desktop.raw main_desktop.raw: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /gnu/store/m31vlvwm79m89fk3xk0z4h7snk61y510-glibc-2.41/lib/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, stripped
<n|Phreak>25Mb
<n|Phreak>kind of large
<stanrifkin_>and `ldd main_desktop.raw' ?
<n|Phreak>sec
<stanrifkin_>I mean my static compiled simple c++ programs also have around 10 MiB
<n|Phreak>hold on let me find a paste
<perryprog>Can prolly also still strip the binary
<n|Phreak> https://pastecry.pt/U0dqay#Gen_Rup2Et8Kes6Fag1Sub1Uz8Ned
<n|Phreak>Ill strip it , sec
<n|Phreak>main_desktop.raw: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /gnu/store/m31vlvwm79m89fk3xk0z4h7snk61y510-glibc-2.41/lib/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, stripped
<perryprog>looks like there's some other advice here: https://docs.racket-lang.org/raco/exe.html
<n|Phreak>u -sh main_desktop.raw23Mmain_desktop.raw
<perryprog>Namely, byte-compile with raco make, use #lang racket/base over #lang racket, use raco demod
<perryprog>I'm not familiar with racket so no clue how applicable all of those suggestions are
<n|Phreak>ok , I'll look into it. I was just curious if anyone else run standalone binaries on guix
<perryprog>out of curiosity, what was the size after stripping?
<n|Phreak>23Mb
<perryprog>word
<stanrifkin_>strip -s
<stanrifkin_>I noticed version 9.3 starts faster
<n|Phreak>yeah that default isn't ? .. anyway still 23mb
<stanrifkin_>Oh, is it? OK.
<n|Phreak>hmm guix only have 9.1 right now ?
<n|Phreak>racket -VWelcome to Racket v9.1 [cs]
<n|Phreak>interesting there is a 9.3 hmm I just upgraded weird
<n|Phreak>cool , upgrading now
<n|Phreak>ok interesting , so when I do a racket -V I still see 9.1 version but when I do guix package -I |grep racket I get 9.3 ?
<n|Phreak>hmm ls -l $(which racket)lrwxrwxrwx 1 root root 65 Dec 31 1969 /home/nixfreak/.guix-home/profile/bin/racket -> /gnu/store/c7mip7hqcf2cq524mkl4v93ahdayssdr-racket-9.1/bin/racket
<stanrifkin_>run a new shell
<n|Phreak>yeah I did
<stanrifkin_>hm...
<n|Phreak>oh filespace , guix gc
<n|Phreak>ok now I can do a home reconfigure and see if that works
<n|Phreak>ok , well that was dumb. So cleaned up my system and reconfigured home and upgrades worked .. I need to create some scripts to monitor this so it doesn't happen again.
<n|Phreak>still 23Mb using racket v9.3
<stanrifkin_>n|Phreak: I read something about gzexe.
<stanrifkin_>could be similar to upx
<n|Phreak>oh interesting
<n|Phreak>thanks
<stanrifkin_>n|Phreak: try `raco exe --collects-dest my_dir main_desktop.rkt' and then `raco distrubute my_dir main_desktop'
<stanrifkin_>It creates a directory my_dir with several contents. In ./bin the binary is then small. It separates the library from the executable.
<stanrifkin_>s/distrubute/distribute/
<dajole>When I `guix search hunspell-dict-fr` it shows the package should exist in `(gnu packages hunspell)`, but when I try to reconfigure I get `hunspell-dict-fr: unbound variable` and indeed `hunspell-dict-fr` is not in `hunspell.scm`. What's going on?
<dajole>(I do have `#:use-module (gnu packages hunspell)`, of course; other dicts work)
<dajole>Ah it looks like those packages got renamed. How come guix search shows the old packages then?
<dajole>That is the package name is `hunspell-dict-fr-classique`, but `guix search` shows `hunspell-dict-fr`.