IRC channel logs

2021-10-05.log

back to list of logs

<attila_lendvai>iskarian, reading https://issues.guix.gnu.org/49602 i don't think golang can compile two different versions of the same module into one binary. but again, i'm no golang expert... maybe they have introduced some sandboxing of modules and their dependencies, but i doubt it.
<iskarian>tekakutli, hello :)
<iskarian>attila_lendvai, no it can't; the idea is that go selects the version to use with minimal version selection, which 'replace' directives then affect (IIRC)
<iskarian>keep in mind that minimal version selection is executed from the the main module, and that only replace directives in that main module's go.mod are processed
<attila_lendvai>iskarian, i've read the discussion. if we want to pursure the current highlevel setup, then i think the importer needs to be restructured to first scan everything, and then apply the MVS algorithm on the transitive closure of modules. but the more i read about it all, the more convinced i am that it's a mistake to bring go modules into the realm of the guix package space...
<attila_lendvai>IOW, the current logic in the importer is completely flawed
<attila_lendvai>oh well... i'll get back to packaging idris2 then, and doing a binary package for go-ethereum.
<iskarian>We intentionally don't copy the full behavior
<iskarian>unless --pin-versions is used
<iskarian>gentoo's builder definitely doesn't use Go to download sources
<attila_lendvai>iskarian, everything i said was in the context of --pin-versions. i want binaries that do exactly what the authors captured in the sources, which includes the exact versions of the dependencies.
<iskarian>right, the point I was making w.r.t. gentoo is that we don't have to let Go download the files itself in order to achieve your desired behavior
<attila_lendvai>sure. the question is how much, arguably, wasted effort it will take, and how much extra complexity (i.e. bugs) will that entail.
<attila_lendvai>at the very least i would prefer a solution where the packager could run some golang command that prepares or lists the dependencies, and then run a script to turn that list into guix packages.
<tekakutli>iskarian: hey, I tried hacking something for my problem but nothing works, it seems that krita indeed relies on .local/share/krita
<iskarian>yeah. i don't know if you ever saw lfam's old suggestions regarding this? does that match what you had in mind? https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00030.html
<awb99_>I am using specifications->manifest to convert package names to a manifest. Now I need to define an os section. And there I need packages, not a manifest. I tried specification->package on "openjdk:jdk" and I get unknown package. But this works for the function specifications-manifest.
<awb99_>Any ideas?
<iskarian>tekakutli, unfortunately guix packages can't really modify ~ except for the stuff that's auto-symlinked to ~/guix-profile
<tekakutli>iskarian: so the question (advice?) is: is guix-home a viable way forward or is that a dead end too?
<iskarian>hmmm. I'm not familiar at all with guix home, so maybe!
<iskarian>tekakutli, perhaps try specification->package+output
<tekakutli>hmm well, at least theres hope xd
<iskarian>oops, wrong person. I meant: awb99_, perhaps try specification->package+output
<iskarian>that'll teach me to multitask
<awb99_>thanks iskarian!
<dissoc>when i run a reconfigure I get an error for wireguard-tools in the install-contrib-docs for: "in procedure mkdir: Permission denied". any ideas what is causing this?
<dissoc>i think that doc variable is wrong in the package def
<awb99_> https://github.com/pink-gorilla/gorilla-guix-chan/blob/master/gorilla/packages/bongotrott.scm
<awb99_>guix repl: warning: failed to load '(gorilla packages bongotrott)':
<awb99_>In procedure scm_to_utf8_stringn: Wrong type argument in position 1 (expecting string): #f
<awb99_>I made a little package, that just installs a bash script.
<awb99_>For whatever reason I get the above error, when I try to use my channel that brings it.
<awb99_>any ideas what this could be?
<nckx>dissoc: I think you need to pull.
<nckx>Yes.
<dissoc>nckx: thanks. the package looks correct now
<nckx>Should be.
<massn00b[m]>Hmmm I can't seem to build libusb 0.1.12 for aarch64. Trying to make an image for pbp from my amd64 machine. Anyone else had this issue?
<massn00b[m]>I'm trying to make an image for pbp that will allow me to use my ath9k usb WiFi adapter, but I need the usb-modeswitch and usb-modeswitch-data packages
<nckx>awb99_: The #f is (current-filename). For whatever reason, it won't work here. If you don't mind it, (source (local-file (string-append (search-path %load-path "gorilla/packages/myscript2")))) will work.
<Mitchell>Hello guix! I am trying to write a package for software that has a local repository. Guix complains about not being able to checkout "/home/project/project-dir" which is a valid git repository. I can build/install it just fine using --with-source= but I can't build any other software that wants to declare it as a dependency. Any ideas?
<nckx>massn00b[m]: ‘guix build --system=aarch64-linux-gnu libusb@0.1’ on my x86_64 machine worked. Is libusb itself failing? Try sharing more detailed error output @ paste.debian.net.
*nckx → AFK.
<nckx>s/-gnu//
<apteryx>does someone has access to some ARM-based power? I'd like to know if inkscape@1.1 builds fine there nowadays
<massn00b[m]><nckx> "massn00b: ‘guix build --system=..." <- I'm confused, I thought you used --target for cross compiling.
<nckx>massn00b[m]: You didn't mention cross-compiling ☺ Yes, I don't doubt that libusb@0.1 is one of the many packages that doesn't cross-compile, even without checking. Your only options are to fix it (<-- BEST DEAL), to remove your need for it (by trimming the image), or not to cross-compile in the first place, since many packages won't.
*nckx → 😴💤, good night Guix.
<massn00b[m]>Thanks for the reply, I'll take a closer look tonight 😎
<awb99_>thank you nckx!!
<awb99_>Unable to change ownership of "/gnu/store/ja7f5rh0wz0n8njn16mhsgqndnpc2y2v-cupsd.conf" - Read-only file system
<awb99_>I am trying to add a printer to guix. It sees the config is not really working.
<awb99_>this is what I see when I do cat /var/log/cups/error_log
<apteryx>are you on a guix system?
<excalamus>is the disambiguation between the expat package and expat variable through use of the license prefix needed, basically because scheme is a lisp-1?
<jackhill>excalamus: I think no, both package object and license objects would be in the values namespace
<excalamus>hmm, okay. I thought that scheme had only one namespace. But this is probably better to bring up in #guile
<apteryx>excalamus: yeah, there's no variable vs procedure namespaces like in elisp in scheme
<excalamus>okay, cool. Sounds like I'm looking at it the right way. I'm most familiar with elisp, which I know to have separate namespaces. I wanted a concrete example of how guile differs.
<excalamus>thanks
***distopico_ is now known as distopico
<apteryx>the test suite of php takes far too long
<apteryx>especially on arm devices
<sundbry>Hey does php fail on the tests phase for anyone else? I have a failing test case Zend/tests/bug74093.phpt but I'm not sure how php 7.4.22 got merged into Guix if the tests are failing. It's not a race condition.
<sundbry>Not even using php, but I need it to build wxwidgets (LOL? :( )
<GNUtoo>Hi, I've a strange issue
<GNUtoo>After guix pull I have:
<GNUtoo>ice-9/boot-9.scm:1685:16: In procedure raise-exception:
<GNUtoo>Throw to key `record-abi-mismatch-error' with args `(abi-check "~a: record ABI mismatch; recompilation needed" (#<record-type <package>>) ())'.
<GNUtoo>That's when doing guix pull again
<GNUtoo>And it sometimes changes message like:
<GNUtoo>ice-9/boot-9.scm:1685:16: In procedure raise-exception:
<GNUtoo>error: le-certs: unbound variable
<GNUtoo>but it still has the ABI mismatch on top
<apteryx>that's strange, that usually happens when building Guix locally in the presence of stale .go
<GNUtoo>Is there any easy way to fix it?
<apteryx>but you are describing it occuring when using 'guix pull'; so as part of guix building its own derivations?
<GNUtoo>yes, when running guix pull
*apteryx tries
<GNUtoo>Am I the only one affected? Note that I'm on i686 but I'm not sure that it really matters here.
<GNUtoo>I hope that you know how to roll back if there is an issue
*GNUtoo probably has the git of guix source code somewhere and know how to build it at least
<apteryx>worst case it'll leave me with the guix I currently have
<apteryx>in other news, lib2geom built fine on aarch64-linux
<apteryx>which means, probably inkscape is fine as well
<apteryx>which means, perhaps time to say goodbye to inkscape 0.9
<apteryx>GNUtoo: guix pull worked fine on my side
<apteryx>at commit 83adca8
<GNUtoo>ok, thanks a lot
<GNUtoo>I'll try to build guix from source and fix it from there
<apteryx>OK! I wonder if something is not set right for your GUILE_LOAD_COMPILED_PATH
<GNUtoo>it points to /run/current-system/profile/lib/guile/3.0/site-ccache:/run/current-system/profile/share/guile/site/3.0
*GNUtoo tries GUILE_LOAD_COMPILED_PATH="" guix pull
<GNUtoo>It seems to wrk better as it'c computing derivations and so on instead of crashing
<guixy>`guix home import` calls `slurp-file-gexp` which grep doesn't find outside guix/scripts/home/import.scm
<GNUtoo>Maybe it's just some (cross-)host contamination
<GNUtoo>I used Parabola to make a rootfs that I then booted and I then ran guix pull
<GNUtoo>GUILE_LOAD_COMPILED_PATH="" guix pull works but without the GUILE_LOAD_COMPILED_PATH="" it still fails
<GNUtoo>Maybe I need to do some rm
<guixy>What should I do about `slurp-file-gexp`
<guixy>What do I need to include to get `slurp-file-gexp`?
<guixy>What is a `text-config` data type?
<calnombl>anyone know when core-frozen's due to be merged into master?
<rekado_>calnombl: when it works. There are a couple of broken system tests and a few of them have recently been fixed.
<maximed>GNUtoo: delete ~/.cache/guile/ccache/
<calnombl>okay, thanks!
<calnombl>quit
<civodul>Hello Guix!
<civodul>mothacehe: i've started a reconfigure on berlin
<civodul>i'll be afk most of the day though, so i hope it completes before i leave
<mothacehe>hey civodul!
<sneek>mothacehe, you have 1 message!
<sneek>mothacehe, civodul says: it's workin'! https://ci.guix.gnu.org/eval/27221?status=failed
<mothacehe>great for the reconfigure, i'll keep an eye on it
<civodul>mothacehe: done! it's running "guix publish" from guix-1.3.0-8.5fec148
<civodul>should i restart cuirass as well?
<civodul>in case there's a useful upgrade
<mothacehe>it's already running the latest cuirass version, plus I'm running a custom cuirass-remote-server
<mothacehe>to test some sql improvements
<civodul>alright, i'm not touching it then
<mothacehe>i also noticed a small bug on the "source" specification: evaluation 27294 has 175 "started" builds that are in fact completed
<mothacehe> https://ci.guix.gnu.org/eval/27294/dashboard
<civodul>ah?
<civodul>i've restarted a couple of them tho
<mothacehe>it might be some funny stuff with postgresql triggers, i'll have a closer look
<civodul>ok
<civodul>cbaines: i was wondering whether we could get bayfront to server /file URLs (like 'guix publish'), and arrange so that ci.guix.gnu.org/file/* falls back to bayfront upon 404
<xd1le>hi guix
<civodul>i suppose the easiest way would be to run 'guix publish' on bayfront and to add an nginx route for /file?
<cbaines>civodul, are you thinking of serving things from bayfront's store, or bordeaux.guix.gnu.org substitutes (which aren't in the store)?
<civodul>cbaines: not for substitutes, just for tarballs
<civodul> /file is for content-addressing, like https://ci.guix.gnu.org/file/scotch_6.1.1.tar.gz/sha256/04dkz24a2g20wq703fnyi4440ac4mwycy9gwrrllljj7zxcjy19r
<civodul>it's used as a fallback by (guix build download)
<cbaines>civodul, I have seen that, but I haven't looked in to it properly yet
<civodul>ok
<maximed>Could the result of building the source code manifest be registered as a root?
<cbaines>hopefully there's some way of serving all the substitutes like that
<maximed>That should prevent source code from being lost I think
<civodul>maximed: i think it what happens now (?)
*civodul has to go
<civodul>ttyl!
<maximed>It does? Then we only need to find copies of the lost tarballs and VCS checkouts, right?
<ehr>Hello, where is binary files in guix, I have a problem /bin/bash not found
<xd1le>on guix system i think it is /run/current-system/bin/bash
<dstolfa>ehr: guix doesn't have a traditional file system hierarchy. most things will be found under /gnu/store/<hash>...
<maximed>ehr: guix doesn't put binaries in /bin
<maximed>you can probably find it in ~/.guix-profile/bin or /run/current-system/bin/bash
<ehr>Thanks
<dstolfa>ehr: the correct way to do this, by the way, is to query what the PATH variable says, if you want to follow POSIX.
<dstolfa>/bin/sh can't be assumed to exist (nor can /bin/bash)
<dstolfa>see https://pubs.opengroup.org/onlinepubs/009695399/utilities/sh.html
<wigust>hi guix
<tekakutli>alo
<maximed>I think there's a memory leak in xorg-server (or some application) -- when the computer don't reboot for a few days, memory usages goes into to 20% or 30% or so
<maximed>Does someone know how to debug this?
<ehr>Why this folder ~/.guix-profile/bin or /run/current-system/bin read only, how I add my binary in this folder?
<brendyn>you don't touch those manually. thare are made by installing something with the guix command
<brendyn>if you want your own thing there you would need to define a package in guile scheme and install it
<nckx>Morning, Guix.
<nckx>sneek: later tell excalamus: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/dns.scm#n315 (neither expat is a procedure)
<nckx>sundbry: The PHP tests are flaky. What passes on one machine can fail on another. For some reason my laptop is #blessed (probably: slow) and I often update PHP…
<excalamus>good morning, guix
<robin>maximed, top/htop to find out what processes are actually consuming so much memory, maybe? (possible there are more specific tools i don't know about)
<robin>in htop for example you can type F6 (SortBy) and select PERCENT_MEM
<maximed>robin: It's xorg-server
<maximed>but xorg-server can allocate memory on behalf on its clients, so that doesn't mean much
<nckx>sneek: later don't tell excalamus because you're off-line: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/dns.scm#n315 (neither expat is a procedure)
<maximed>It might be GDM: restarting the xorg-server used by GDM brings down memory usage (I use a xorg-server another VTY)
<robin>maximed, maybe you could conduct a kind of binary search of the x programs you use frequently and run them under valgrind (idk how well valgrind works with x programs though)
<nckx>Especially if they outsource(?) their allocations.
<robin>yeah
<maximed>The memory consumption was by a xorg-server on a VTY I wasn't using
***isolier6 is now known as isolier
<maximed>It's still on 37% again ...
<maximed>(About 1.5 GB)
<robin>maximed, running x programs you weren't using, as well? or just the server (+ DE/WM presumably)
<maximed>robin: yes, the login manager GDM
<robin>oh, just GDM. curious
<maximed>So if I have a suspicion which program is causing the excessive memory usage, how does one investigate where in the program it's caused?
<robin>(i wonder if memory usage would go down if you logged in...suggesting a leak in the greeter or whatever it's called, maybe)
<excalamus>sneek, later tell nckx, thanks for a better example. I found the Pitman paper "Technical Issues of Separation in Function Cells and Value Cells" which clears up any remaining questions I had.
<nckx>Great!
<maximed>I can't login, it displays ‘Oops, something is wrong, contact your system administrator’
<nckx>Let's just talk exclusively through imaginary sneek excalamus.
<maximed>which isn't really helpful.
<nckx>maximed: …
<nckx>And I was already containing myself when GDM was mentioned.
<robin>maximed, i'm about to crash (8am here) but this sounds like it's worth filing a bug report, with as much context as you're comfortable sharing
<robin>ideally it'd be reproducible on other systems
<nckx>maximed: What did you do to be unable to log-in? Just restart it?
<excalamus>what's up with sneek?
<excalamus>sneek: botsnack
<robin>(i could maybe help debug if it's actually an xorg-server problem, having had to dig into the depths of the xorg source on a few occasions)
<nckx>excalamus: I don't know, and neither does #guile.
<brendyn>Note that GDM is actually a stateful service. it has a home directory in /var/lib/gdm
<robin>but i'd hazard a guess that it's GDM-related
<excalamus>:(
<drakonis>light up gdm's directory and it should work
<efraim>I forget what but there was something in /var/lib/gdm that made it so we couldn't just delete it unconditionally at boot or something
<robin>maximed, maybe worth trying another display manager (guix has slim and sddm i think?) if you haven't already
<robin>drakonis, "light up"?
<drakonis>light it up on fire
<drakonis>i have forgotten words
<robin>hahaha
<brendyn>I just noticed that xorg-server has GuixSD emedded as the name
<nckx>brendyn: It's ‘Guix’ on core-updates.
<brendyn>i guess im not making a patch for it :)
<nckx>I think I just put it there out of an abundance of caution since it's used in many test suites and I didn't want to do something hard like count.
<robin>maximed, well, my (admittedly sleep-deprived) advice is to file a bug and possibly help others make the problem reliably reducible
<nckx>It's good sleep-deprived advice.
<robin>(and with that, time to read _the three-body problem_ until sleep arrives)
<robin>reproducible*
<maximed>Nevermind, the xorg-server with the large memory usage is not owned by gdm, but by
<maximed>$USER
<maximed>TBI later
<excalamus>I notice that pypi-uri lives in guix/build-system/python.scm which corresponds to (guix build-system python). That is, the symbols correspond to the directories. Is that a guix convention?
<excalamus>
<nckx>No, it's a Guile requirement.
<excalamus>okay, cool
<maximed>File names must match module names, otherwise Guile won't find the module
<nckx>So, I guess, ‘Yes’; in that it's Guix convention to have mostly working code.
<nckx>Mostly.
<excalamus>I'm used to the python import system which is... yeah. Still figuring out where things live in the guile info
<excalamus>thank you
<maximed>pypi-uri could live in, say, (guix build-system perl), but that wouldn't be a logical place
<excalamus>gotcha, it's just the path, but has knowledge of the contents
<excalamus>has no*
<awb99>I am trying to setup CUPS. I did install a printer, and sent a test page. And I get the error that "filters cannot be loaded".
<awb99>can I see somewhere logfiles?
<nckx>CUPS logs to /var/log/cups on (at least) Guix System. You can ask to be inundated with debug logs with (log-level 'debug). (access-log-level 'all) will create even more but is mostly useful for debugging access control. Regardless, debugging CUPS can be a bit of a black art…
<Inline>oh man
<Inline>what a mess
<Inline>i just installed guix ontop of voidlinux
<Inline>guess what the profile generated in /etc/profile.d/guix.sh messes with XDG stuff
<Inline>and i couldn't start my desktop sessions anymore
<Inline>all black etc. and not working
<Inline>i removed it and voila
<Inline>i'm back again
<dstolfa>Inline: :(
<Inline>not sure how to make it not collide with my hostOS settings
<Inline>i can always source the guix_profile env vars from some .sh scripts myself
<dstolfa>i wonder if this is because void does osme weird stuff, or if we do some weird stuff
<Inline>no idea
<dstolfa>do you know what causes it?
<Inline>i thought i have broken dbus
<nckx>We definitely do, just by design 😛
<Inline>cause i installed dbus
<dstolfa>nckx: well... :)
<Inline>and now i got a /tmp/dbusblah socket
<Inline>not sure, i don't think it was there before
<dstolfa>nckx: even with the messiest configuration i have on RHEL, i don't break it with guix
<Inline>hmmm
<Inline>well on a hostOS nothing from guix should take precedence over the hostOS settings
<nckx>‘ss -lx’ lists dbus listening on /tmp/dbus* on a random Ubuntu machine (sans Guix) I could SSH in to.
<Inline>not sure if the order is right in there for variables like $PATH
<Inline>most of that seems prepended rather than appended
<nckx>Hm, I don't actually know if it's dbus; $something.
<nckx>That's so that Guix-installed (user) packages take precedence over Void (system) packages.
<PurpleSym[m]>Can one of the CI admins restart all failed jobs for wip-haskell please?
<nckx>It is by design, but you could change it if you wanted to. guix.sh is generated only once by guix-install.sh.
<nckx>Then never touched again.
<dstolfa>and even if they do, i can't imagine they would break the distribution unless there's something seriously wrong somewhere
<dstolfa>i've successfully used guix on a number of distributions without breaking them
<nckx>PurpleSym[m]: I can try…
<PurpleSym[m]>Thank you nckx! (Except for #12, which is old afaik.)
<tekakutli>alo, is anyone else having issues with emacs-guix?
<nckx>PurpleSym[m]: OK, that was going to be my question ☺ Done!
<nckx>PurpleSym[m]: The aptly-named ghc-cryptonite is still spoiling the fun for everyone. Did you expect it to succeed?
*nckx AFK.
<awb99>Is there a way to speed up installing of packages? I am configuring my systems, and have to make frequent installs, until I have my perfect setup. Sometimes my installs are really fast (1-2 minutes). But at times everything seems to compile from scratch, and it takes hours. Is there anything I can do to speed things up? Perhaps disable grafts? Or add more substitute servers? Or do updates only at special times?
<vivien>Hello! Today is the day I finally understood why delimited continuations are delimited, and how powerful that is :)
<attila_lendvai>good for you! i think it's a bad idea to make call/cc a primitive... i think it makes the wrong tradeoffs.
<PurpleSym[m]>nckx: With a few exceptions I expect all ghc-* packages to succeed. The one you mentioned works locally, yes.
<PurpleSym[m]>Ah, it’s the missing derivation error again. Well, making big changes doesn’t make any sense right now, given that they will inevitably fail…
<nckx>PurpleSym[m]: I just restarted <https://ci.guix.gnu.org/build/895165/details> and <https://ci.guix.gnu.org/build/895012/details> manually and they now succeed. I don't know if that was necessary; was just impatient.
<nckx>Evaluation 27618 just appeared. Let's see what it does.
<PurpleSym[m]>Thanks. 27618 should only fix a single package.
<PurpleSym[m]>Strangely ghc-repline, which is still marked as failed, also succeeds locally.
<nckx>awb99: There should not be this much variation in from-scratch deployments (right?) of identical systems.
<nckx>PurpleSym[m]: Particularly strange since it doesn't look like a irreproducible failure at first glance (“Setup.hs: Encountered missing or private dependencies: haskeline ==0.7.*”)
<nckx>Sure that wasn't fixed later?
<PurpleSym[m]>Ah, wait, it’s for v0.2, not v0.4. That was probably not fixed then.
<nckx>dstolfa: Any ‘odd’ distributions (e.g., non-glibc, …) on that list?
<nckx>wip-haskell actually looks pretty healthy in the CI view; thanks if you helped make that happen PurpleSym[m].
<vivien>My comprehension problem was that I was working on a way for the program to call a function that would ask the user for a value (like, readline), and define that function so that it would store the continuation away until the user decides to give the value. So this continuation is delimited by something upstream (the prompt, where we decide to use the final result), and by the call to the readline-like function downstream (literally,
<vivien>the readline "prompt"). Thus my confusion.
<nckx>It ain't easy bein' green ♪
<dstolfa>nckx: nope. i'm not a fan of musl so i don't use any of those
<PurpleSym[m]>nckx: I had some help, but yeah, two weeks of upgrading and more work fixing stuff. We need more automation for this kind of work.
<brendyn>it appears there is some change on core updates with regards to %outputs and %build-inputs being in scope
<roptat>hi guix!
<mbakke>apteryx: I believe gstreamer follows an even/odd release cycle like GNOME, so the 1.19 branch is considered unstable
<awb99>cannot link `/gnu/store/.links/0w5n522y6aw5qdcv74wj9k30qk2pnrynbbn49hz192kzgw2g8cil' to `/gnu/store/2ksjdaqnrpccrlx471kgabvmv5j9nbgy-profile/share/icons/Papirus-Light/24x24@2x/apps/steam_icon_606150.svg': No space left on device
<awb99>does someone know what this means?
<awb99>I am running guix gc
<awb99>and am getting hundred thousands fo this messages
<awb99>I do have enough room on my disk.
<awb99>guix gc --optimize -d 2d
<awb99>this is the command I am running as root.
<nckx>awb99: What does dmesg say?
<nckx>I've got to go but will be back in ~.5h.
<attila_lendvai>awb99, maybe your fs ran out of inodes?
<awb99>dmesg ? just enter like this?
<awb99>how can I fix the inode stuff attila_lendvai ?
<attila_lendvai>awb99, no idea. if there are opportunities, then i'd delete some stuff from the fs, and then retry the gc
<attila_lendvai>but then maybe the gc is implemented so that it creates shitloads of new links before cleaning up... and then this won't help.
<awb99>cannot I increase the inode stuff ?
<awb99>[ 8797.991964] EXT4-fs warning: 224358 callbacks suppressed
<awb99>[ 8797.991967] EXT4-fs warning (device dm-0): ext4_dx_add_entry:2458: Directory (ino: 2621445) index full, reach max htree level :2
<awb99>this is the output of "sudo dmesg"
<maximed>awb99: ‘On ext4, that probably means the directory index is full.’
<maximed>When that happens, it's fine to ignore it: we just effectively
<maximed>disable deduplication of this file.
<maximed>(according to nix/optimise-store.cc)
<maximed>fwiw, I don't think btrfs has a directory index limit
<dstolfa>it doesn't
<awb99>thanks attila_öendvai maximed dstolfa
<maximed>Has someone packaged a Java IDE in guix? There doesn't seem to be one in guix proper.
<awb99> https://github.com/pink-gorilla/gorilla-guix-chan"
<awb99>I have added vs-codium there.
<nckx>awb99: ext4 has a (rather badly implemented) feature to speed up reading large directories, which /gnu/store{,/.links} definitely are, but… it also chokes on very large directories, which /gnu/store{,/.links} definitely are.
<awb99>I I use vscodium for some java development.
<attila_lendvai>the idris2 tests run almost as long as the build itself... shall i turn them off?
<maximed>awb99: This tripped me up at first: ‘VSCodium is a [...], freely-licensed binary distribution of Microsoft's editor VSCode’ and ‘[stuff I didn't read at first] (Visual Studio Code) is licensed under this not-FLOSS license’
<awb99>My machine is already running for 10 minutes, deleting unused links.
<maximed>later it appears the _source code_ is free software, but the binaries provided by Microsoft aren't
<maximed>awb99: I'll take a look
<nckx>awb99: That is ‘normal’, and I'm not even sure if it's done whilst holding the big GC lock. You might be able to Guix as usual whilst it runs.
<nckx>It's also safe to interrupt and resume later if you need to, at the expense of space used in the meantime.
<maximed>The channel has a definition of vscodium, but it's not built from source, it uses prebuilt binaries. Useful, but I want everything built from source (substitutes from ci.guix.gnu.org and bootstrap see are fine)
<maximed>I'll use a VM with Debian, and maybe take a look at how to build this from source later
<maximed>(Debian has NetBeans, maybe Eclipse as well)
<dstolfa>maximed: any reason you can't just use a container instead of a full blown vm?
<awb99>the binary build of vs codium is all I managed to do.
<awb99>visual studio codium is open source.
<nckx>Isn't VScodium an Electron script?
<maximed>dstolfa: it's easy to forget to close a hole in a container
<awb99> https://github.com/pink-gorilla/gorilla-guix-chan/blob/master/gorilla/packages/vscode.scm
<awb99>yes vscodium runs electron
<awb99>this binary package is not the best,
<awb99>but I guess it is better then installing vscode via flatpak on guix.
<maximed>E.g., I presume VScodium needs access to the X server, and the clipboard is shared between X clients, so a compromises vscodium binary could steal passwords copied to the clipboard (IIUC)
<maximed>* compromised
<nckx>OK. Building that from source is going to be an Herculean effort. Take that as a challenge, just budget accordingly. 😉
<maximed>awb99: (or (%current-system) (%current-target-system)) need to be switched
<dstolfa>maximed: sure... in a VM it gets access to a bunch of interfaces that don't exist if it runs on the host such as a hypercall interface and potential access to devices that are emulated on the host and can be exploited to escape the VM. pick your poison :)
<awb99>nckx: so what is the solution? use btfrs instead of ext4 ?
<tricon>VM vs. Container: Round 1 - FIGHT!
<maximed>dstolfa: That's a concern too
<dstolfa>tricon: it's not really a "vs". it's just different usecases, but neither should be used for security
<nckx>If you want, or just ignore the errors. As maximed noted it should ‘transparently’ (if noisily) degrade to not deduplicating.
<tricon>dstolfa: I understand ^_^
<nckx>awb99: ☝
<maximed>FWIW, I'll use a Debian VM to run Debian's NetBeans package in
<maximed>(because guix doesn't have NetBeans)
<maximed>It's not for sandboxing reasons.
<awb99>I tried that.
<nckx>And?
<awb99>I found that the virtual machine I am running on guix with xwindows is so slow, that it barely brings up a desktop.
<dstolfa>maximed: i mean, docker would allow you to install a minimal debian base and then just install netbeans into it + x11 forward with volumes mounted for your projects inside the docker container (same is true for podman, but last i checked it isn't supported in guix yet)
<awb99>I used on the same machine virtualbox,
<awb99>under manjaro,
<awb99>and it was extremely fast.
<minikN>Hello, how would I make a file-system, that I declared in my config.scm and mounted at /mnt/whatever accessible to my user? I only have read, not write access.
<maximed>I think I'll stick with a VM instead of looking into docker containers + x11 forwarding. I know how to do the former, but I'm unfamiliar with the latter
<dstolfa>fair enough :)
<apteryx>mbakke: ah, really (about gstreamer). I think I updated it because I was facing build failures on staging though :-/.
***df_ is now known as df
<apteryx>perhaps updating the stable branch would have been enough, hmm.
<awb99>if I do guix gc, and then it deletes packages that are from old profile generations,
<awb99>and I have to rollback on startup to an old profile.
<awb99>will it then get all the old packages again ?
<nckx>‘guix gc’ won't delete old profiles by default. If you chose to do so, those profiles will no longer be listed in the menu, and you can't roll back to them. There shouldn't be dangling unbootable profiles.
<nckx>s/profiles/profile generations/
<ss2>hello, I'm just reading through https://guix.gnu.org/manual/devel/en/html_node/Service-Types-and-Services.html#Service-Types-and-Services, and am wondering about the service types being mentioned there
<ss2>Can all available service-types be extended like the three examples being mentioned?
<awb99>so guix gc -d 2d
<awb99>this will NOT delete old profiles.
<awb99>?
<maximed>The -d 2d will delete old profiles IIUC
<ss2>awb99: no, only store items.
<nckx>Well, yes, it will, that's what I mean by ‘asking’ ☺
<ss2>alright, then maybe it will. :)
<nckx>Yas.
<awb99>guix system list-generations
<nckx>Er, choosing.
<nckx>Scrollback is for losers.
<awb99>I see in here generations older than 2 days.
<awb99>so I guess guix gc -d 2d does NOT delete old profiles.
<nckx>It does, but you don't know yet but are about to find out that system and user profiles are separate. Now you have. Weird.
<nckx>guix gc -d 2 deletes profiles belonging to your (=the calling) user only.
<nckx>The ones listed by guix package --list-generations
<nckx>guix system list-generations, apart from needing some consistency in ‘--’s, is a different namespace.
<nckx>You can delete them with guix system delete-generations.
<nckx>As you can tell, I'm having to look all this up because honestly… I just dive into /var/guix/gcroots once in a while and tidy up by hand.
<awb99>nckx - you are right! :-) guix package --list-generations only has the last 2 days in profiles. amazing!
<awb99>so if I run "guix gc -d 2d" as root, THEN it will remove the system wide generations, and this WILL remove my bootable profiles ?
<maximed>awb99: it should be keeping the latest (system) profile
<maximed>but otherwise, I think so?
<nckx>awb99: Shouldn't! root is not magical on Guix, is just another user, not treated specially as a synonym for ‘plus do some system-wide stuff’.
<maximed>system wide generations = bootable profiles?
<maximed>It's usually called ‘system generations’ I think
<nckx>I read awb99's ‘bootable profiles’ as meaning ‘system profile generations’.
<nckx>Since you can't really ‘boot into’ a specific user profile, I think? Though I've never tried!
<nckx>Sorry, I'm a bit distracted: ☹
<nckx>guix gc: error: executing SQLite statement: database disk image is malformed
<nckx>Noo…
<nckx>…I'm going to leave you in the excellent hands of maximed and go cry in my back-up corner. o/
<awb99>sorry to hear that nckx
*apteryx wonders how a single valued search path specification behaves when there are multiple inputs that match the specified file?
<apteryx>I'd hope it'd pick the first match and be done, but I'm not sure
<zacchae[m]>So I bought this wifi card a while back because h-node said it works with free software: https://h-node.org/wifi/view/en/1725/Realtek-Semiconductor-Co---Ltd--RTL8723BE-PCIe-Wireless-Network-Adapter/1/1/undef/undef/undef/undef/wifi-works/rtl8723
<zacchae[m]>but it looks like it needs some (slight) hacks to do so.
<zacchae[m]>is this something that should be implemented in guix, or is this a change that needs to be pushed to linux-libre?
<attila_lendvai>zacchae[m], you haven't showed us the "this" part?
<zacchae[m]>My guess is linux-libre because hardware
<attila_lendvai>zacchae[m], linux itself needs to be patched, then linux-libre will get the changes automatically. but it may be enough to just install a fresh enough kernel release.
<zap>where is sneek?
<nckx>Holidaying on Ibiza.
<nckx>…so the database error only triggers when I GC, which is… bad, but not man-the-pumps bad. I should be able to finish my work for the day and reinstall tonight. Phew. No errors in dmesg; I wonder what happened.
<nckx>zacchae[m]: Which exact modification to the source is required? It's not trivial to find by a moron in a hurry.
*zap turns arround with a pile of botsnacks
<nckx>Latest from #guile:
<nckx><dsmith-work> Anyone have a log when sneek disconnected?
<nckx><taw10> 09:25 -!- sneek [~sneek@cpe-24-29-205-215.neo.res.rr.com] has quit [Excess Flood]
<nckx><taw10> (UK time)
<nckx><dsmith-work> Hmm about 7 hours ago?
<nckx>So botdaddy don't know either.
<nckx>sneek should just reconnect when that happens, but apparently didn't.
<zap>ookay now I need to use info...
<ennoausberlin>Hello. I try to reconfigure my system with static ip, but get an error: guix system: error: service 'networking' provided more than once
<ennoausberlin>Does the desktop-service somehow interference here?
<podiki[m]>likely you need to use modify-services, probably since desktop-services includes network-manager
<podiki[m]>and static-networking
<ennoausberlin>I guess the static-networking-service is configured correctly. How do I remove network-manager from desktop-services?
<podiki[m]> https://guix.gnu.org/en/manual/devel/en/html_node/Networking-Services.html#Networking-Services and https://guix.gnu.org/en/manual/devel/en/html_node/Service-Reference.html may be helpful
<podiki[m]>there's also (delete some-service-type)
<podiki[m]>inside of a (modify-services %desktop-services)
<podiki[m]>e.g. (modify-services %desktop-services (delete static-networking-service-type)) probably
<podiki[m]>or er with network-manager-service-type)
<ennoausberlin>I think I can figure it out. My scheme fu is rather limited, but you gave me the right pointers. Thank you
<podiki[m]>welcome! modify-services I find a bit tricky, feel free to ask more here or send a paste
<zacchae[m]>attila_lendvai: sorry, looks like my nheko client stopp receiving messages? In the description of the link I sent, it mentions changing the location of the binary blob to a dummy location
<attila_lendvai>zacchae[m], if it has a binary blob, then it's not linux-libre compatible
<apteryx>I think I've finally fixed the gdk pixbuf loaders issue; also replaced inkscape@0 by inskscape@1 in the process. Will send patches (targetting staging) shortly
<zacchae[m]><nckx> "zacchae: Which exact modificatio..." <- Wait, I'm looking at the talk page of the h-node page I sent. It maybe looks like linux-libre is already supposed to have this patch?
<nckx>zacchae[m]: Thanks. From the seccond comment on that page it appears that the opposite is true. Linux-libre's blunt deblobbing method breaks it somehow.
<podiki[m]>ugh I'm always confused about string matching in substitute*....when do I need on \ and when do I need \?
<podiki[m]>err one \ or 2 \
<nckx>This implies that it can be unbroken without violating the FSDG.
<nckx>podiki[m]: What's the regex?
<zacchae[m]>Yeah, I see other places where people say it can work
<nckx>If you want the regex to contain a \, you write \\.
<nckx>Always.
<podiki[m]>trying to match if (g_find_program_in_path ("p11-kit")), so need to handle the " and the ( right?
<nckx>Yes. \\( and \"
<podiki[m]>(trying again, I swear that was what i did at first...)
<nckx>I always escape the corresponding ) even though it shouldn't be needed. Looks less odd IMO.
<maximed>maybe (substitute* ... (("if \\(g_find_program_in_path \\(\"p11-kit\"\\)\\)" ...
<podiki[m]>i'm blind, i ignored the earlier ( in the string
<podiki[m]>yeah it worked, I just need my eyes checked
<nckx>
<podiki[m]>(this is a theme recently with finding my glasses, must be getting old)
<podiki[m]>i feel better though, I did have the right escaping practice at least
<podiki[m]>the lisper in me just ignores parens with emacs
<zacchae[m]>nckx, attila_lendvai: For reference, here is a similar discussion on trisquel.info https://trisquel.info/es/issues/27488
<zacchae[m]>So is this something I should report to the linux-libre mailing list?
<nckx>There's also a #gnu-linux-libre channel, maybe someone's around who can answer immediately.
<nckx>I can't really follow anymore with the H-node comment saying it works without blobs and quidam's post on trisquel.info.
<nckx>I feel like I'd have to read it several times to even parse what's intended.
<nckx>Best to ask the LL folk indeed.
<zap>ha! just got this output from cuirass:
<zap>overrid: WARRNIN:G mported module (cuirass watchdog)(fibers): i ppoovvreeterr rWWiooAoAdddReeuIIsNN GGc::o re binding `(fibers) overrides core bind(ng :` imported module sleep' overrides core ''b
<zap>something todo with buffering?
<zap>dont get where duplicate characters are coming from though
<nckx>Two threads printing the same/similar thing at the same time and, as you say, no line-buffering.
<nckx>TIL git rebase -i --root (having previously thought that the initial commit was somehow protected because you can't address it relative to HEAD).
<podiki[m]>okay I think I fixed the flatpak p11-kit problem with some substitute* forcing it to use a custom p11-kit input
<podiki[m]>but I can't be sure that it wouldn't use an already running p11-kit server started by something else
<podiki[m]> https://issues.guix.gnu.org/49957
<jackhill>podiki[m]: thanks for working on that. Can you think if it shouldn't/should be it in core-updates-frozen? I wasn't confident enough to block the merge.
<jackhill> https://issues.guix.gnu.org/50860#5
<podiki[m]>thanks, I saw that only yesterday (didn't get the replies there for some reason)
<podiki[m]>what I currently have is a new p11-kit version and configure flag, and then flatpak hardcoded to use that
<podiki[m]>so I think that only requires a couple of packages, since it doesn't actually update the full p11-kit
<podiki[m]>while I didn't hit this issue on master for some reason, the original reporter did
<jackhill>I was able to reproduce it on master
<podiki[m]>I was thinking to name the p11 flatpak version to p11-kit-next since I updated the version too. and put a TODO to make it p11-kit on next core-updates?
<podiki[m]>jackhill: https://paste.debian.net/1214418/ my current version (a little messy maybe) if you want to try
<podiki[m]>I also want to bump flatpak to the beta/rc version since it fixes some sandbox issues for me in some apps
<podiki[m]>I'd also like to bump xdg-desktop-portal-gtk, but also need to add a fix for an env variable https://issues.guix.gnu.org/49972#5 (I haven't made a patch yet)
<jackhill>podiki[m]: I don't have time to test now, but I'll try to get to it later
<podiki[m]>no worries! just wanted to post it in the meantime
<podiki[m]>I'll have to find some time to clean this all up and submit a few patches
***dongcarl7 is now known as dongcarl
<jab>raghavgururajan: You may be interested in my sway-service.scm. I've got a fair amount of a sway service defined. Not finished though.
<jab> https://notabug.org/jbranso/guix-config/src/master/sway-service.scm
<raghavgururajan>jab: Thanks!!
<jab>yup. :)
<awb99>I would like to post my understanding of guix after playing around with it for 9 months:
<awb99>the concept is brilliant; the future.
<awb99>will this be understood my mainstream? I dont know.
<awb99>the package system is very complete.
<awb99>virtually all build systems are available.
<awb99>all common languages are available.
<awb99>services:
<awb99>the services is not as complete as the packages.
<awb99>remote deployment is there, but needs a lot of tweaking. early stage for sure. even digital-ocean deploy is no longer working.
<awb99>for services, the same /gnu/Store is used, and the output of the guile scripts generates configuration files for the services.
<awb99>its easy to write new custom services.
<awb99>but tools like systemd are not available.
<awb99>this makes it more difficult to get logs from different services.
<awb99>seems to be not covered.
<awb99>hardware: big progress on hardware side. really universal deployment (arm / raspberry / pine phone/tablet).
<awb99>what is missing from services?
<awb99>I think a either-or-service. This would allow for herd to run nginx with no config, when there are no certificates. And as sonn as there are certificates, run nginx with ssl certificates.
<awb99>do you guys follow me? or am I mistaken somewhere?
<jackhill>awb99: I agree. The bootstrapping with certificates needs some work.
<jackhill>I'd be tempted to solve that as part of a larger secrets/non-public information system somehow. That is, shepherd would know how to get certs or other secret configuration data and pass them to the service in a secure way.
<lilyp>Certificate Forwarding ;)
<awb99>jackhill:
<awb99>If there is a either-or service running,
<awb99>sorry.
<awb99>it works much simpler
<awb99>a job needs to be run with mcron.
<awb99>this job gets certificates.
<awb99>when certificates rae successfully intalled,
<awb99>then the nginx-bootstram service gets stopped.
<awb99>and the nginx-production service gets started.
<awb99>I guess the nginx-production service could just override the service name from "nginx" to "nginx-production"
<awb99>and this way there can be two nginx services running.