IRC channel logs

2020-09-30.log

back to list of logs

<nckx>‘It's thinking.’ Let it run.
<nckx>(Not sure what the debug output overhead is, if any, might be slightly slower now.)
<PotentialUser>but its the same file/number over and over
<nckx>Hm.
<nckx>I've never encountered that before & am also falling asleep. I'll leave you in the otherwise competent hands of #guix. Good night & good luck.
<PotentialUser>thanks for the help, good night
<PotentialUser>So, to be clear it is outputting "acquiring write lock on `/var/guix/temproots/13970'" and "downgrading to read lock on `/var/guix/temproots/13970'" over and over
<yasu>Is it possible to generate a graph for all packages, not just one? guix graph htop | dot -Tpdf > dag.pdf
<yasu>Is there a "root" package I can use?
<vagrantc>make a package that depends on all the packages :)
<yasu>oh..., so there is nothing like that in the system? I am trying to learn Guix by "direct git repo hacking" - like this: yasu@surface ~/co/guix [env]$ ./pre-inst-env guix graph htop | dot -Tpdf > dag.pdf
<vagrantc>i don't know, it's just a quick hack i thought of :)
<yasu>😊 thank you anyway
<vagrantc>before too long, diffoscope might be that package ...
<roptat>maybe guix graph -t reverse-bag bootsrap-binaries
***catonano_ is now known as catonano
<Brendan[m]2>is it possible for a service definition to refer to a value that will be specified later in a different part of the the operating-system specification, like for example refer to the keyboard-layout that will be specified?
<Brendan[m]2>i mean a service that is defined outside the operating system definition and is imported in
<rekado>don’t use the debug flag. It’s for debugging the daemon protocol. You’re not doing that.
<rekado>Brendan[m]2: yes to the second sentence.
<rekado>you can define values in the top-level of your config file and then refer to those values later
<PotentialUser-80>hello, is gnat; the ada compiler; provided by the gcc toolchain package?
<apteryx>where's sneek?
<str1ngs>last I hear he went to learn Haskell, we have not heard from him since :(
<str1ngs>him/her
<sneek>Who dare to mention My name!?
<sneek>AAAAAA!
<apteryx>eh! sneek needs some rest, apparently.
<divoplade>PotentialUser-80: No, because the compiler is written in ada and there is a hard bootstrap problem :(
<PurpleSym>rekado: Can I add the same GPG key you’re using for guix to guix-science?
<mothacehe>Hey guix!
<nckx>Good morning mothacehe & other guix.
<janneke>hello mothacehe, nckx
<mothacehe>hey hey
<mothacehe>janneke, the new hurd compressed images are now available on the website :)
<civodul>hey ho!
*janneke downloads https://ci.guix.gnu.org/search/latest/image?query=spec:guix-master+status:success+system:x86_64-linux+hurd-barebones.qcow2
<civodul>mothacehe: yay!
<janneke>the rumoured hurd blog post is going to be packed!
<civodul>yep, a lot to say :-)
<civodul>then the headlines are going to be "Guix to Drop Linux Support Again"
<mothacehe>hahah
<janneke>"there's no such thing as bad publicity"
<civodul>heh
<civodul>cbaines: i was reading zimoun's message about python-umap-learn pointing at https://data.guix.gnu.org/repository/1/branch/master/package/python-umap-learn/output-history
<civodul>i'm wondering how we could put that to good use to quickly address regressions
<civodul>(which was your initial goal with Patchwork & co.)
<janneke>mothacehe: lovely, it works
<nckx>mothacehe: Nice work.
<mothacehe>thanks :)
*janneke notified the gentle folk in #hurd
<nly>>rumored hurd blog post
<nly>nice
<PurpleSym>civodul: Still not sure why `guix archive --export` fails for me. I know it happens since 6cb573889b1ca183c1c0c1ddcb191b919e6c1ea8.
<PurpleSym>And before that, since 6dd8ffc57420ee2f6f19e79e41028e78fe9e6a7e, it fails with “guix archive: error: program `/gnu/store/9y02rj0rl1s17zplysmyhaikpk9g9kan-guix-command' failed with exit code 1”. And even before that the command works.
<civodul>PurpleSym: can you do: "strace -p $(pidof guix-daemon) -s 500 -f -o log & guix archive --export coreutils > /dev/null"?
<civodul>and then post "log"
<PurpleSym>civodul: Pretty big (6MB): https://6xq.net/paste/log
<PurpleSym>(As I said, this is on a foreign distro)
<Brendan[m]2>on the new icecat 79, when i open a link in another application it opens a new icecat and errors saying icecat is already running, except the text fails to render
<civodul>mothacehe: 👍 for --image-type!
<mothacehe>civodul: thanks for your review + guidance. It's way nicer that what I proposed initially.
<mothacehe>can't wait to see new image types :)
<civodul>:-)
<civodul>PurpleSym: i think i can see what the problem is:
<civodul>57419 write(2, "guile: warning: failed to install locale\n", 41) = 41
<civodul>57378 <... read resumed>"g", 1) = 1
<civodul>that "g" here is problematic
<civodul>57419 is "guix authenticate"
<civodul>and the other one is guix-daemon
<PurpleSym>Hm, GUIX_LOCPATH is set for the daemon, but /var/guix/profiles/per-user/root/guix-profile/lib/locale does not exist.
<PurpleSym>Installed glibc-locales into root’s profile and now `guix archive --export` works again. Still kindof dirty as a fix.
<civodul>yeah i'm eager to get rid of that warning
<efraim1>now I see why I can't touch make-glibc-utf8-locales
<Brendan[m]2>I'm getting confused trying to figure out how to define a service which also defines another service that is added as well as if it were manually added to the os specification. are there any examples?
<guix-vits>+1
<Brendan[m]2>my current genius idea is to include in the record type of the final service a field which is the configuration of the other one it depends on
<raghavgururajan>Hello Guix!
<guix-vits>o/
<mbakke>Brendan[m]2: the 'ganeti' service does something similar IIUC
*raghavgururajan sighs at nckx regrarding claws-mail 😤
<mbakke>i.e. ganeti-service-type is mostly shorthand for adding ganeti-noded-service-type, ganeti-wconfd-service-type etc individually
<Brendan[m]2>I'm packaging a service for a login manager daemon, which its self has a few front ends for it, so i was having trouble reasoning through how the services should be structured
<mbakke>Brendan[m]2: lightdm by any chance? /me recalls a discussion about how to configure lightdm-gtk-greeter with the same service...
<Brendan[m]2>Na its called greetd. It's on sr.ht
<Brendan[m]2>check it its, they're quite nice. light weight. i might build my own gtk greeter with it with a Guix theme
<Brendan[m]2>check it out.
<mbakke>Brendan[m]2: oh, https://sr.ht/~kennylevinsen/greetd/ looks nice indeed, I have recently been dreaming of something similiar(!)
<Brendan[m]2>i was scouting sr.ht's Featured Projects for cool things and found it.
<Brendan[m]2>I already got it running with wlgreet and gtkgreet, I'm just trying to design a good service now
<nckx>raghavgururajan: Why?
<mbakke>Brendan[m]2: nice, don't hesitate to ask if you get stuck :)
<nckx>13:37, nice.
<raghavgururajan>nckx: Kidding! I have to rebase since you already updated it.
<Brendan[m]2>thanks. my biggest issue coding is just getting stuck on a design problem where i simply cant figure out how to make what i want in to scheme code
<nckx>That update is a whole day old, ancient by Guix.git standards.
<nckx>raghavgururajan: If you'd made smaller separate patches you wouldn't need to rebase, simply drop the update.
*nckx runs away.
<raghavgururajan>nckx: Lesson learned my friend.
*raghavgururajan chases nckx
<guix-vits>A question: `guix` uses guile-3.0-latest. How long `guix` will use -latest?
<raghavgururajan>Question of the day 👆
<guix-vits>raghavgururajan: (use-modules (gnu services base)) in REPL (not `guix repl`) currently leads to lots of compilation, by default. Due to version mismatch (3.0.2 vs 3.0.4). So i planning to add -latest Guile to config.scm
<allana>Hi Guix.
<nckx>Hi allana.
<allana>I'm not a schemer. Could I use some help wiht my config.scm? I'm trying to customize my network-manager-service-type using "modify-services". I'm getting an "invalid field specifier" error and I can't seem to spot it. paste link: https://paste.debian.net/1165258/
<nckx>Is this weird? http://paste.debian.net/plain/1165257 (offload user is me).
<allana>In my example, even just using "(inherit config)" yields the same error. I lifted the examples form the docs and mailing list
<allana>from*
<raghavgururajan>guix-vits, I see!
<nckx>allana: Which field? Please give the complete error message.
<guix-vits>allana: IDK. Try '(network-manager-openconnect) ?
<guix-vits>default for vpn-plugins is '() (gnu/services/networking.scm)
<allana>here is the complete error:
<allana>error: (define %my-desktop-services (modify-services %desktop-services (network-manager-service-type config => (network-manager-configuration (network-manager network-manager) (dns "dnsmasq") (vpn-plugins (list network-manager-openconnect)))))): invalid field specifier
<Brendan[m]2>you haven't shown the context the code is in
<nckx>allana: And your complete file?
<nckx>That doesn't sound like the snippet you pasted is wrong.
<allana>nckx: full config.scm, thanks: https://paste.debian.net/1165263/
<nckx>guix-vits: Nah, that would pass a list with the symbol 'network-manager-openconnect in it, instead of the network-manager-openconnect package. (list network-manager-openconnect) or '(,network-manager-openconnect) are correct and equivalent.
<nckx>allana: Ta.
<allana>ah-ha .. my define is in the wonr place
<allana>wrong*
<nckx>allana: You need to move the (define...) -- yeah.
<nckx>In this context you're creating an operating-system field named ‘define’, which is invalid.
<allana>Thanks! I feel a little foolish.
<nckx>guix-vits: `(, of course. New keyboard.
<allana>wonderful help from #guix as always, about to go test my new config. Hope everyone has a nice week.
<nckx>allana: You too! No need to feel foolish.
<rekado>PurpleSym: yes
<PurpleSym>rekado: Done.
<roptat>hi guix!
<guix-vits>o/
<apteryx>rekado: had you studied how Debian packages tensorflow 2.x? I haven't yet, but it's all available at https://salsa.debian.org/science-team/tensorflow/-/blob/master/debian
<apteryx>seems they just run bazel build and bazel test. What was the core issue with Bazel? Is it the packaging of bazel itself?
<emacsen>I'm going to ask a heretical question...
<emacsen>Is there a way to install GuixSD under Linux Subsystem for Windows?
<emacsen>And yes, I know this is like asking about a BBQ and Beer stand in Mecca
<Brendan[m]2>nothing wrong with it.
<emacsen>Brendan[m]2, well I think there is, but it's something I happen to need for the moment
<rekado>apteryx: Bazel bundles dozens of Java dependencies that cannot be built from source.
<rekado>… easily
<rekado>I don’t know what Debian folks are doing with those.
<str1ngs>emacsen: yes guix works on WSL
<rekado>it also may not even be enough to package all of them because Bazel uses a binary of Bazel for its “bootstrap”.
<emacsen>str1ngs, do I use the install image?
<rekado>so the core issue with Bazel is that from a packager’s perspective it’s just the worst
<str1ngs>emacsen: I have not tried guix system thought just guix foreign.
<apteryx>rekado: I see. Bootstrapping issues :-/.
***jonsger1 is now known as jonsger
<PotentialUser>Hey, im getting the following error when reconfiguring: guix system: error: | | | bind mounting `/dev/full' to `/gnu/store/4pzb7mah00r3nbyl8pwm8aq9dr6vnhny-manual-database.drv.chroot/dev/full'
<PotentialUser>oh nevermind, looks like verbosity and debug flags break building, known bug
<nly>Maybe someone can tell these folks about guix: https://www.bountysource.com/issues/68776656-reproducible-builds-e-g-via-nix-bazel
<nly>a bug bounty for repro build
***jonsger1 is now known as jonsger
<nalaginrut>is there a way to lock the specific version and avoid its upgrade, for example, I want to always keep guile in 2.2.7
<guix-vits>nalaginrut: 1) Manual's 5.9 Inferiors
<guix-vits>2) make a profile that uses a channel pinned to some commit
<nalaginrut>guix-vits: thanks
<PotentialUser>Hey nckx the cups fix worked! thanks you so much
<nckx>Awesome!
***V is now known as v
***v is now known as V
*kmicu finally found nice toys in Nix universe https://github.com/nix-community/emacs-overlay
<brettgilio>Guess who has a confirmed coronavirus exposure and gets to get tested now.
<brettgilio>fun times
<brettgilio>Guess who has a confirmed coronavirus exposure and gets to get tested now.
<brettgilio>My wife, my son, and I are all exposed. My wife and I are getting tested, but they said they don't need to do testing on my son because his risk is too low to warrant testing at his age
<dongcarl> Hi all, there's a known bug in GCC 9+10's memcmp which may cause tests to fail, just in case people are wondering
<dongcarl>BugZilla: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95189
<dongcarl>Some mis-compilation discoveries: http://r6.ca/blog/20200929T023701Z.html
<nckx>brettgilio: Good... luck? I guess? At least you've got a (very) remote job now.
<brettgilio>truth. nckx
<brettgilio>and very remote indeed
<brettgilio>hopefully results are negative though.
<nckx>Of course. And likelihood of that is high!
<civodul>kmicu: let's take inspiration from that :-)
<drakonis>brettgilio: oh no :(
<brettgilio>no worries. I'm following precautions :)
<brettgilio>like nckx said, things will probably be okay
<brettgilio>I'm generally healthy
<civodul>yeah, good luck brettgilio...
<civodul>dongcarl: "impressive"
<brettgilio>civodul: thanks. no worries :)
<civodul>dongcarl: a good demonstration of what functional deployment permits, too
<dongcarl>civodul: For sure! User freedom FTW
<drakonis>civodul: say, what kind of info you were looking for with regards to CAS nix?
<drakonis>i do not believe there's anything written down pertaining to the technical implementation
<drakonis>just the PRs with the code
<apteryx>rekado: the cmake-based build system of tensorflow 1.15.4 is full of holes
<apteryx>:-/
<apteryx>phew, managed to run cmake with a tons of warnings
<zimoun>Hi! Does the hash of one store item include also the package name+version? Or only the hashes of the inputs? And corollary, where is this hash computed? By the daemon? I am not sure to understand ’derivation-hash’ in derivations.scm or how the hash is computed.
<ecbrown>i'd like to update my hardcopy of the Emacs Lisp manual. does anyone have an idea where to buy a bound copy, or perhaps get one bound?
<ecbrown>so sorry, wrong group
<nckx>No problem. Didn't find it in the FSF store either.
<nckx>zimoun: (a) Yes, via package->bag (+ bag->derivation later on); and (b) not a C++ daemon expert but think that's hashDerivationModulo in nix/libstore/derivations.cc.
*zimoun is reading what nckx said
<cbaines>zimoun, I think I worked out how the hash is computed in the past, I wrote some slides on it https://www.cbaines.net/projects/guix/freenode-live-2017/presentation/#/7
<cbaines>I believe the hash can be/is computed in the Guile code as well, although I remember it being tricky to pin down
<nckx>Hah, well that's a lot more detailed than my answer, thanks!
<zimoun>nckx, cbaines: thank you. I understand what I am doing wrong. And big thnaks cbaines for the slides. I m going to read them now.
<nckx>Yes, there are different hash values (e.g. derivation vs. output), and I wouldn't be surprised if there are duplicate implementations. I think the final one has to be (re)computed by the daemon for security reasons.
<cbaines>There are some weird cases where Guix does generate invalid derivations, and the daemon says no
<cbaines>This whole "store item hash" thing is also something I want the Guix Data Service to explain properly at some point
<nckx>These slides are excellent.
<cbaines>It should be possible to click on a hash, and see what data goes in to computing it
<nckx>zimoun: I don't really understand your mail. How are any of those packages indentical? You're changing the package name, hence the store directory name/hash. That's already game over for the majority of packages that contain a reference to themselves: http://paste.debian.net/plain/1165331
<nckx>It's normal that their md5sum differs. If you suspect deeper problems, a comparison with diffoscope would probably elucidate matters.
*nckx shilling Diffoscope, Inc.® today.
<zimoun>nckx: why is it normal that the md5sum differs?
<zimoun>The only difference is the name of the package in Guix, so the resulting binary should be the same. And I am probably missing something, that’s why I am asking.
<nckx>Because ‘so the resulting binary should be the same’ is false, look at that paste again.
<nckx>If the binary contains its own hash, it differs by definition.
<civodul>drakonis: i was suggesting we could start a discussion about CAS, what it would bring us, how Nix is doing it, etc.
<drakonis>hmm, i'll ask about it on #nixos-dev
<zimoun>nckx: why the binary would contains the hash?
<zimoun>nckx: I am sorry but I do not understand. And I have look at that paste again. :-)
<nckx>zimoun: I feel like I'm being dragged into a deeper discussion than the one I signed up for 😛 The majority of packages just do, and are expected to do so. Isn't that enough here? In hello's case, if your really care, it's because it embeds a reference to /gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10/share/locale.
<nckx>If your ‘why’ is more philosophical than that, it's too late & I'm too tired 😉
<nckx>I'd take a step back & ask if/why you're relying on different packages being identical in the first place. You can't.
<nckx>That paste is just to prove that the hello binary in each of your hello{,-bis,-tris} packages will contain the string hello{,-bis,-tris} itself, as well as the different hash that goes with it, so they can never be identical.
<zimoun>nckx: now I got it. :-) Thank you for explaining. All my hashes issues are solved for this evening.
<bdju>does guix remove the sounds from teeworlds on purpose? playing for the first time and noticed there's no sound
<zimoun>I have to go back to home. Thanks again nckx and cbaines for the hashes explanations.
<nckx>zimoun: Sorry, I got connected from IRC and wrote an e-mail briefly explaining the same thing. I hope it's more clear.
<nckx>bdju: Guix does not remove them at all, so no. Similar to xonotic, if something's missing, take a look at the package first: it should always have a comment explaining *why* something's problematic. If there's no such comment, it's a bug either way.
<zimoun>nckx: yeah! Thank you. I missed the obvious. Sorry to have been slow.
<bdju>nckx: oh, okay.
<nckx>bdju: Looking at ‘guix build teeworlds’ it's full of sounds. Maybe an audio driver (Pulse/ALSA) issue?
<nckx>No sound here either.
<apteryx>perhaps try to start pulseaudio manually before starting the game? I know one instance where it matters
<apteryx>(ungoogled-chromium, sometimes)
<nckx>Yeah, NIH-‘audio subsystem’ games especially, but I'm watching something for work so can't [afford to] experiment with breaking my audio 🙂
<ko_>Hello guix!
<ko_>I have a question about the hints about setting $GUIX_PROFILE
<ko_>Do they appear only when there is something wrong? Or do they just appear randomly?
<ko_>Because when I get those hints I check and it seems the variable is set correctly...
<nckx>ko_: They are conditional, but not on GUIX_PROFILE being set, since GUIX_PROFILE isn't the point of that hint. The point is the second line‘. $GUIX_PROFILE/etc/profile’, and all the variables it sets.
<nckx>If you've installed something, sourced that file, run the same ‘guix install’ command again in the same terminal, and still get the hint, something might be off.
<ko_>Should I source $GUIX_PROFILE/etc/profile in my basrhc then?
<nckx>Never.
<nckx>Just paste those 2 lines in your current terminal to use the new package, or start a new terminal where the variables will already be set.
<ko_>Then when should it be sourced? After installing a package?
<ko_>Ah ok ok
<drakonis>is there any reason why the profile isnt automatically sourced after installing?
<nckx>You can't do that.
<nckx>Believe me, we would 🙂 but you can at best only fake that with nasty broken hacks that are much worse than the problem.
<nckx>‘IMHO’.
<nckx>(They are.)
<ko_>Thanks for your help! I was getting really confused with that, and I had set it in my bashrc
<nckx>Actually, I think the hint was changed to suggest a command than won't break your system if you do so, but it should never be necessary.
<ko_>In a desktop setup with gdm, is it normal for a login prompt to appear in the tty before gdm starts?
<leoprikler>if gdm is sufficiently slow, yes
<leoprikler>ttys 1 to 6 spawn earlier
<ko_>I think it is because gdm only starts after ntpd finishes printing its start-up message
<ko_>It's really annoying, but I have checked the manpages and it doesn't say anything about inhibiting that
<leoprikler>oh, yes, messing with ntpd can have tremendous effects on gdm
<nckx>ko_: Also, the Shepherd doesn't do any kind of parallelism. If you're implicity expecting that.
<ko_>Well, I just have the service as it is included in %desktop-services
<ko_>Yes, I think I was expecting that
<nckx>It has a to-do list and will take its sweet time ticking off each individual item.
<nckx>ko_: It's on the road-map, I'm sure.
<drakonis>nckx: does nix's solution not help?
<drakonis>parallel shepherd would be so grand tho
<drakonis>gdm takes disgusting amounts of time to boot up
<ko_>Can ntpd be started after gdm? Because maybe with another display manager it's the same
<ko_>(If ntpd keeps printing that message)
<nckx>drakonis: You know I've not used Nix in half a decade? 😉 I'm curious what their solution is, but you simply can't change the environment of the running shell from a subcommand. You could use hacks like shell functions, which are shell-specific and very fragile.
<leoprikler>having networking early sure helps ntpd
<leoprikler>if you don't consider configuring it so that your local router is included, that tends to speed things up
<ko_>I'll check the documentation and try to do that, then
<ko_>Thanks a lot for your advice!
<drakonis>nckx: it is always a good time to check out how they're doing things!
<efraim>I don't remember the use case for custom glibc-locale packages but I hacked something up
<nckx>drakonis: I agree in principle, but that takes a lot of time. Guess what I don't have.
*nckx points awkwardly at the abstract concept.
<leoprikler>IIRC something something closure size
<drakonis>right right
<drakonis>it has gotten a bit easier these days
<dustyweb>o/
<drakonis>the recent direction it has headed towards is great
<drakonis>hey
<nckx>I know I [try to] post regularly here but it's honestly with about 10% of my attention.
<nckx>drakonis: Cool, I will check it out.
<nckx>It's also nice that you point out curated news like the CAS thing.
<nckx>\o dustyweb.
<drakonis>there's a newsletter these days
<drakonis>its generally pretty interesting
<nckx>I find this intriguing and wish to subscribe.
<drakonis> https://weekly.nixos.org/
<nckx>Thanks. I'd just found it, somewhat distracted by the ‘new’ home page.
<nckx>Reminds me of the old Gentoo weekly news.
<nckx>A very good thing to have when projects get big.
<nckx>I don't think we're there yet, but something to keep in mind.
<civodul>cbaines once suggested having a semi-automated, data-driven weekly update
<civodul>in fact, the "guix pull" news are also kind of a newsletter, delivered to your terminal ;-)
<drakonis>i'm aware, yes.
<drakonis>but there's not quite a lot of excitement going on right now!
<nckx>civodul: Absolutely. I was thinking more about the ‘who's working on what?’ part, not the ‘finished feature testing party time’ part that guix news handles quite well IMO (better than an out-of-band newsletter for sure).
<civodul>ah yes
***rekado_ is now known as rekado