IRC channel logs

2023-09-10.log

back to list of logs

<luke-jr>aw crap, the initial blobs are 32-bit and I can't build 32-bit stuff x.x
<apteryx>the depth at which modules are loaded reaches 180 at some point
<apteryx>this is the Guile modules loaded (and their depth) when building 'hello': https://paste.debian.net/1291476/
<nckx>CONFIG_IA32_EMULATION is the best emulation.
<nckx>(I re-enabled it for the same reason.)
<nckx>Good night, gweeks. o/
<lilyp>IA33_EMULATION is better, gives you 1 bit more
<luke-jr>nckx: if only it was that simple. I mean I don't have a compiler/etc for it
<luke-jr>and apparently getting old GCC/glibc to build at all is a real chore
<luke-jr>I suppose in theory, less of a chore inside guix
<efraim>nckx, luke-jr it was far easier for creating the bootstrap binaries for riscv64 using guile-3.0 than fixing guile-2.2
<luke-jr>efraim: but the x86-64 guix is based on guile-2.2 :/
<efraim>You can change the packages in make-bootstrap if you need. They generally only get touched when someone is bootstrapping a new architecture
<zamfofex>luke-jr: What is your goal? Do you want to build your system from source without substitutes? Not a Guix‐related solution, but have you ever seen this thing? https://github.com/fosslinux/live-bootstrap
<luke-jr>zamfofex: I have not executed a binary I didn't compile myself since* 2007. I want to get a Guix VM without losing that property.
<luke-jr>efraim: including changing it to use the older GCC 4.7? how? is there a way to figure out what exactly I need to change it to?
<zamfofex>luke-jr: Which system were you using before Guix that allowed you to do that? Or did you use the prebuilt binaries prior to 2007 to bootstrap the binaries you used 2007 onwards?
<luke-jr>zamfofex: Gentoo, and yes, back in 2007 I used their official stage3 binaries
<luke-jr>maybe stage1 back then actually
<zamfofex>Ah, fair enough.
<tjout>Hey guys, I am new to Guix and would like to ask two questions:
<tjout>1. when creating an environment `guix shell lua lua-luv` I can not `require("uv")` inside Lua as I am used to when installing it via Luarocks. Is there some special setup I am missing?
<tjout>2. I use Textadept (https://github.com/orbitalquark/textadept) as my editor of choice and would like to give back to Guix by packaging it. However I have no Idea how to translate the pretty easy compile instructions to a working definition. This is what I have so far: https://pastebin.com/LnL4cXPr
<luke-jr>zamfofex: due to a compromise, I actually had to restart recently; so I dug out the old 2007 hard drive and compiled up from there all over again - it was much simpler than trying to get Guix going :(
<tjout>I read the cookbook tutorial but I never used any scheme before so decrypting stuff comes on top^^
<janneke>luke-jr: what architecture are you on?
<lilyp>tjout: IIRC, lua has environment variables for LUA_PATH etc. that sadly aren't translated to search-paths in Guix
<tjout>lilyp: thanks I thought that might be the problem. However from the definition (https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/lua.scm#n796) I can not make out where Guix actually puts the file so I can modify the path in my startup script.
<lilyp>I think the bigger problem might be that the CMakeLists appear to insist on dowloading Scintilla, Lua, and a bunch of other things from the Web, so you at least have to patch that
<lilyp>tjout: just 'guix build' it, then you can explore; for luv it appears stuff is directly in lib/ (regular shared modules)
<lilyp>for lua-bitop OTOH, it's lib/lua/$LUA_VERSION/bit/bit.so
<tjout>Ah, I did not know that there were downloads involved - that makes stuff complicated. I looked pretty straight forward to me on the surface. I never build more than some Arduino sketches before^^
<tjout>Yes I already ran `guix build` but I thought the hash of the location within the Guix store changes and therefore an update would break again?
<zamfofex> https://www.irccloud.com/pastebin/9nhp28xV/textadept.scm
<zamfofex>Here’s a simple example that can help you get started.
<zamfofex>It doesn’t address the downloading issues, but I fixed the syntax errors you had.
<zamfofex>You can (attempt) to build it with ‘guix build -f textadept.scm’
<zamfofex>Plain file download URL: https://www.irccloud.com/pastebin/raw/9nhp28xV/textadept.scm
<lilyp>tjout: you don't typically bake in the hashes on your own. There are procedures like search-input-file that can help you find files with a relative path
<zamfofex>tjout: Also, have you considered using Lite XL? It is also written in Lua, but it is already packaged in Guix.
<tjout>@zam
<tjout>zamfofex: yes I used it for some time but migrated to Textadept.
<tjout>Thanks for fixing the paste, I really appreciate it :)
<tjout>I stand corrected. It was Lite I used back when the creator first published it on the Lua subreddit. I guess I will give Lite XL a try and see if it does what made me switch to Textadept. At least until I figure out how to get Textadept compiling.
<Guest43>I defined a mcron job like this: https://paste.debian.net/1291495/ and the script itself is this: https://paste.debian.net/1291497/  but it doesn't work.  It does not run it and in /var/log/mcron.log is nothing
<Guest43>Therefore I am not really sure what the actual problem is, since I don't have any feedback
<lrustand>Hello, I would like to install a DKMS kernel module from a git repo. On a normal distro I could just clone the repo and run "dkms install .". How would I do this on Guix? I would assume I need to create a package or something? I see the docs say that operating-system has a kernel-loadable-modules list, but I'm not sure how I would use this. Sorry for the noob question, I am very new to Guix. Any help is
<sneek>Welcome back lrustand, you have 1 message!
<sneek>lrustand, nckx says: Assuming this also happens on the installer live system (else things get interesting), does it also happen when booting (no need to install it) something like Trisquel that also uses Linux-Libre?
<lrustand>greatly appreciated!
<nckx>Guest43: Does 'herd schedule mcron' show it?
<nckx>lrustand: I find packaging well-behaved Linux modules to be a breeze. Look at (short) packages using the linux-module-build-system to get started.
<nckx>So you have cores now?
<Guest43>nckx: yes
<nckx>Well damn, I was thinking it wouldn't.
<nckx>And running that command manually, in an 'env -i'-style empty environment as root, works? I thought PATH was empty in jobs, but I can't test right now.
<Guest43>It is strange anyways.  If I set it to run every minute I get SSL certifacte errors in the mcron.logs.  I assume it is because no RTC and the system is at 1970 for a minute
<lrustand>nckx: Yes, my cores are back. I had added acpi=off to my kernel args in order to make my display work, but this disabled my SMP also. Nomodeset worked better
<nckx>Oof.
<Guest43>nckx: What do you mean with "env -i" style? If I run it in the terminal as root it works normally
<nckx>An environment without variables.
<nckx>I'm not sure which are set when mcron runs jobs.
<nckx>If any.
<Guest43>Ah.  You I should run env -i ./update-mirrrors.sh?
<Guest43>Don't know why I have written "You"
<nckx>Well, that will almost certainly fail, we know that much.
<Guest8>Got a disc and now I am renamed from 43 to 8
<Guest8>Running the above mentioned cmd returns ./update-mirrors.sh: line 33: git: command not found
<Guest8>(git is installed system-wide)
<lrustand>nckx: Do you have a good example package I can look at?
<tjout>lilyp: what did you mean by these procedures? There seems not to be any command in guix returning a relative path.
<nckx>Here's the env in an mcron job: https://paste.debian.net/plainh/d8932d26 - try running your script with that PATH.
<nckx>Guest8: There's no reason to keep using guest nicks, you know. You can '/nick anynick' or probably just enter it in your client before connecting.
<lrustand>nckx: Okay, I found it myself
<nckx>lrustand: librem-ec-acpi-linux-module is a very minimal one.
<lrustand>nckx: thanks, I already found a whole bunch. Now I know more or less what to write in the package, now I just need to find out where to put it. Is there some directory that I can put package definition files in that will be sourced automatically?
<lrustand>Sorry for all these dumb questions, but I find the official docs are skipping very important parts of information
<rekado>I’ll give a talk on reproducibility and Guix to an audience of sysadmins (including Windows and Mac people). I know one of the questions will be about whether Guix works on Mac or Windows.
<rekado>for Mac the easiest way is probably to use a Guix VM and talk to it.
<nckx>lrustand: Answer is no, however there is GUIX_PACKAGE_PATH, however it is... retro, and we recommend creating a channel instead (see manual), however this is overkill for actually writing and testing this package first.
<rekado>is anyone here familiar with the virtualization features of macos? I heard that they need that sort of thing anyway to run x86_64 binaries on their aarch64 M1
<rekado>can we come up with a recipe for setting up a little GNU+Linux enclave on a macos system?
<rekado>also: what’s the status of running Guix on Windows? I remember old third-party blog posts on WSL and WSL2, but I don’t know if big obstacles remain.
<nckx>Just create a my-package.scm file anywhere, fill it with '(define-module (todo) ...) (define-public foo-linux-module ...) foo-linux-module' and use 'guix build -f my-package.scm' to iterate.
<janneke>rekado: yeah, i guess you saw https://gist.github.com/giuliano108/49ec5bd0a9339db98535bc793ceb5ab4
<janneke>but it could prolly do with an update
<nckx>ACTION away.
<lrustand>nckx: So I succesfully built my package, but it did not get added to anywhere the system recognizes for loading modules. Modprobe does not find it. Where is the correct path for modules? I found both /run/{current,booted}-system/kernel/lib/modules/6.4.15, but my module is not in any of them
<Altadil>Hi, I’m back with another noob question: I’m trying to inherit from a package, but when I do, the pre-inst guix stops working, saying things like "name" are unbound. I checked that if I copy the whole package definition instead of inheriting, it does work properly. I searched the manual as well as several examples of inheritance in guix packages, but it does not look like anything special is needed. Is there any more info on this
<lrustand>What happens with packages installed from the command line when I run "guix system reconfigure"? I would guess they are removed then? And what happens to these packages if I roll back to a previous generation?
<Altadil>lrustand: If you used guix install, then the packages are not removed when changing the system. They stay in your profile. It’s separate from the system generations.
<lrustand>Hmm, I don't like that. I thought the whole point of Guix was that there is no "state" other than what I define in my configuration.
<Altadil>lrustand: you can use guix home for that. It allows management of your user’s home environment just like guix system
<lrustand>What is this profile and where do I find it?
<Altadil>lrustand: Sorry, I don’t know much about profiles, since I defined everything with guix home (since I have the same mindset ^^
<lrustand>Altadil: Yes, I am using guix home. I just don't like that there are cracks that state can slip through, so my system is not stateless. So if I in a weak moment or for a quick test install something interactively and forget about it it is not tracked in my configuration
<Altadil>you can check with guix package --list-installed
<pastor>Good morning. I'm improving one package that I submitted with some sugestions I got. I need to include a new line on one source file. The best way to do it is by using `substitute*'?
<sneek>Welcome back pastor, you have 2 messages!
<sneek>pastor, nckx says: When I remove all lines that cause an error on my system (due to missing third-party channels), the system builds fine. No ‘%base-xfce-system: unbound variable’. When I uncomment one of them (say, ‘(specification->package "abstract-sddm-theme")’), the build fails AND it produces that ‘error’.
<sneek>pastor, nckx says: I can't, unlike you, create a situation where it successfully builds AND throws an ‘error’, but there's definitely something off about error reporting and -L.
<lrustand>Altadil: I read somewhere something about using a tmpfs for / to force a more stateless system, have you tried anything like that?
<Altadil>lrustand: Sorry, that sounds way above my level. ^.^
<pastor>nckx: for what I've seen. That false warning happens when in separate system configurations you make use of packages defined in `GUIX_PACKAGE_PATH'
<lrustand>I have a problem with my sudo, sometimes it gets unresponsive and hangs forever after entering my password. The only way to get back a working sudo is to reboot my computer (using the powerbutton, since "sudo reboot" is of course not working).
<Guest8>nckx: env -i PATH=/run/current-system/profile/bin ./update-mirrors.sh  returns fatal: unable to access 'https://git.zx2c4.com/cgit/': server certificate verification failed. CAfile: none CRLfile: none
<lrustand>The same thing happens to ssh login prompt as well.
<lrustand>Guest8: Is your system clock correct?
<Guest71>yep it is (i am guest8)
<Guest71>probably should take some nickname is nckx mentioned
<nckx>Ah, that's because the SSL_* variables aren't set and pointing to nss-certs (as they do in your user environment). That's one thing you'll need to fix.
<nckx>pastor: Yes, (substitute* "file" ((".*something unique on the preceding line.*" line) (string-append line "my new line yay\n")). You can also 'append' line after your addition if it's easier to match.
<pastor>nckx: okay. Thanks
<lechner>Hi, is qemu building on the substitute servers?
<lilyp>tjout: that's not the point. The point is you can specify relative paths like "/lib" and get store paths like /gnu/store/…/lib out of them
<lechner>lrustand / what's the command being invoked by sudo?
<lechner>lrustand / do you see the ssh problem when logging into your user account from another machine, or is that likewise related to assuming root privileges
<lechner>?
<lrustand>lechner: Any command being invoked by sudo. Also, yes this is when logging in to my user account from another machine
<somenickname>nckx: How would I add those ENV vars to the mcron job and shoudn't this be the default? Makes stuff more complicated than it is
<tjout>lilyp: Sorry for the dump questions but I think I am misunderstanding. If I have a Lua project that depends on `luv` I can not call out to Guile to retrieve a relative path, can I? So how would I get a reliable relative path that I can use in my program?
<lilyp>let's say your "depends on luv" translates to "needs to locate /lib/luv.so"
<lilyp>then you can use (search-input-file inputs "/lib/luv.so") which gives you a reliable path for that
<lechner>lrustand / have you tried something like this? https://unix.stackexchange.com/a/464619
<lechner>or rather, the Guix equivalent?
<lechner>maybe you could post your configuration?
<PotentialUser-72>guys I'm adding a package that I was ask to add to
<PotentialUser-72>              `gnu/packages/image.scm`. For the library I need to add I
<PotentialUser-72>               require to use the `gcc-toolchain' as native-inputs. The
<PotentialUser-72>               problem is that adding the `commencement` use-module breaks
<PotentialUser-72>               everything. The package works fine on a
<PotentialUser-72>               GUIX_PACKAGE_PATH. Could anyone help me with this?
<lrustand>lechner: I do have 127.0.0.1 hostname in /etc/hosts
<nckx>PotentialUser-72: The good news is: you almost certainly don't need to add gcc-toolchain. Why did you add it in the first place?
<nckx>In the unlikely case that you do, there are tricks to do so, see the freehdl package.
<somenickname>nckx: Okay so I tried this https://paste.debian.net/1291513/ but that doesn't work.
<somenickname>as of the ENV isn't working
<nckx>somenickname: I'd do something like (setenv "SSL_CERT_DIR" (file-append #$nss-certs "/etc/ssl/certs")) I guess. For each required variable.
<nckx>I didn't read you paste yet.
<nckx>s/ENV/env/. It's just short for ‘environment’, not an acronym.
<nckx>Huh. TIL append-environment-mods.
<nckx>I'm the opposite of an mcron wizard by the way. My jobs aren't even lambdas.
<nckx>ACTION has to /away again…
<somenickname>nckx: I will try your approach as well.  I probably don't need a lambda as well but without it didn't work.  I basically don't really now what I am doing.  Probably a habit of writing env only in scripts which meant I always wrote it in caps
<somenickname>pinentry-program /usr/bin/pinentry-emacs for gpg agent.  How would I define that if I use Guix?
<somenickname>Hmm, I guess generate a file in my home.scm file?
<efraim> https://git.sr.ht/~efraim/guix-config/tree/master/item/efraim-home.scm#L367
<mwette>sneek: later tell rlb, My heavy use of strings seems to be working w/ the new patch. This reads includes from glib.h, gobject.h, pango.h, cairo.h, gdk.h, gtk.h, etc. and generates scheme ffi wrappers for all.
<sneek>Will do.
<vivien>Otherwise, use /var/guix/profiles/per-user/<you>/current-guix/bin/program
<vivien>And install it with `guix install ...`
<mwette>sneek: help
<Noisytoot>How can I make pyproject-build-system copy an extra file into the build directory? setup.py reads VERSION and README.md to get the version number and description.
<Noisytoot>Actually it's failing because VERSION doesn't actually exist in the package
<mirai>Noisytoot: modify-phases and add a phase that does this
<mirai>OR snippet in (source …)
<mirai>I personally prefer using snippet for fixes (i.e. changes that don't depend on inputs, target build systems or configure/make flags)
<rekado>Noisytoot: many new Python packages use versioneer or something similar to produce the version string. We have a few packages that patch the build.
<lechner>Hi, how may I find out whether qemu built successfully on the substitute servers, please?
<lechner>lrustand / does "ssh -4" work better?
<lrustand>lechner: After I asked the question everything has worked fine and I have been unable to reproduce it anymore. Earlier it happened almost every time after the computer had been running for more than a few minutes, but now it has been working for many hours
<rekado>lechner: guix weather qemu
<Sleep_Walker>I'm refining my guix channel and I'd like to verify that `guix pull` works - it does not so far - is it possible to pull just one channel and not all so I can reduce the delay between change and test? it doesn't seem to be possible to be done via `guix pull` but I hope I am wrong :)
<somenickname>efraim: thanks
<somenickname>Sleep_Walker: You can specify with guix pull -C a channel file.  I guess if that only contains that one specific channel it updates only that
<Sleep_Walker>good tip, but it seems it requires to have guix channel defined
<somenickname>Well, how about pinning the guix channel?  Still kinda meh but if it works
<Sleep_Walker>not bad - just for sake of testing - thanks, I'll try that
<pastor>nckx: you answered to PotentialUser-72 about the use of `gcc-toolchain`. That was me I lost connectiong and I was logged through the browser. I've described the reason for using `gcc-toolchain` here `https://issues.guix.gnu.org/65012#2-lineno0`. TLDR: I don't know better. Any suggestion is welcome. The issue is described in `[PATCH v2 1/2]`
<somenickname> https://git.savannah.gnu.org/cgit/guix/mumi.git/tree/ since mumi is on savannah, shouldn't the footer on issues.guix.gnu.org point to that instead of https://git.elephly.net/software/mumi?
<Guest96>I just did a guix install of a package from an around 5 months old guix commit. This package is not in the build server. However, I have that package built for that same commit on a seperate device. Does this mean that the build fails in the build farm, but not on my device (unlikely) or that the build farm doesn't build all packages for all guix commits?
<Guest96>Like, if the build servers are behind enough, do they start skipping builds altogether? Using ARM btw
<luke-jr>janneke: x86-64
<drewjose>hello everyone, in the guix cookbook page https://guix.gnu.org/cookbook/en/html_node/StumpWM.html it should be s/sbcl-ttf-fonts/sbcl-stumpwm-ttf-fonts/
<drewjose>how does one fix it?
<luke-jr>I wonder if I can trick guix into using my mkdir/xz/bash/?/guile but thinking it's the official seed hash
<Sleep_Walker>somenickname: using extra channels file makes almost no difference (computation of derivation is taking most of the time), but thanks for help anyway
<janneke>luke-jr: okay, so then you don't need any gcc, only the stage0 binaries, guile and the untar/unpack tools you list above?
<janneke>you should just be able to change the hash and url for those binaries in bootstrap.scm?
<janneke>ACTION has to run
<apteryx>(gnu packages embedded) is a problem w.r.t. to cyclic module dependencies
<apteryx>it uses top level stuff from both (gnu packages cross-base) *and* (gnu packages gcc)
<geri>hey, do you need a special operating-system definition for `guix system image' to produce a bootable qcow2 image?
<geri>there's a Instantiate an Image section that does that, while guix system reference uses a file returning operating-system, so i'm a bit confused
<geri>(guix system's `image` section i mean)
<lilyp>geri no, for qcow2 you just need the vm command rather than reconfigure
<geri>isn't vm about straight-up running vm's instead of generating images?
<luke-jr>janneke: yes, but then my hashes won't match every other guix system
<nckx>You could always build (or substitute, because who cares) the bootstrap-binaries, then stop, remount the store r/w, and replace them with yours. Unless bootstrap binaries receive special treatment, the contents aren't hashed later.
<nckx>Inspired by your misadventures, I've started my own source-bootstrapping attempt over lunch.
<nckx>If those don't sound like famous last words I don't know what does.
<geri>nckx: is it taking forever as expected
<nckx>It's taking a while all right.
<nckx>I haz stage0 binaries, that's when I stopped for the day.
<geri>how many stages are required
<nckx>There aren't defined ‘stages’, ‘stage0’ is just a project name.
<geri>ahkay
<nckx>This is what I did today: https://github.com/oriansj/stage0-posix
<nckx>(s/did/built/, obviously; I didn't write any of that.)
<geri>fun
<geri>guix without substitutes doesn't sound very fun honestly
<janneke>luke-jr: right
<lechner>rekado / Thanks, I run a modified version of Guix and get (0 out of 3) of the missing items are queued That seems to indicate I have to build locally---but it fails. May I check online if the version currently in Git HEAD built successfully on any substitute servers?
<lechner>Hi, the Guix test tests/guix-daemon.sh is turned off in the Makefile. Is that test still operational or scheduled for reinstatement?
<janneke>nckx: but not by doing `guix build -e '(@@ (gnu packages commencement) stage0-posix)', i take it then?
<minima>hi, i'm looking at this https://guix.gnu.org/manual/devel/en/html_node/Mail-Home-Services.html i.e. msmtp's Home Service; i see the service includes a `password-eval' field
<minima>in the example, the field has value `"pass Mail/alice"'
<minima>now... shouldn't `pass' be mentioned by its full path instead?
<minima>perhaps that's redundant though? eg if PATH is correctly set
<nckx>janneke: Well, no.
<lechner>nvm, the test is being added in nix/local.mk
<nckx>It's not exactly clear to me what the use case is for that.
<the_tubular>Is that your github nckx ?
<the_tubular>Oohh I guess not lol
<nckx>But then I've seen *very* few conversations outside of #bs where two people meant the same thing by 'bootstrapping'.
<nckx>the_tubular: No.
<apteryx>does using something like this in inputs: (cross-binutils "xtensa-elf" binutils-2.33) causes binutils-2.33 to be referenced at the top-level?
<apteryx>as well as cross-binutils? or is the complete expression of inputs 'delayed' because it's thunked?
<janneke>yeah, some projects even call running autotools on their project "bootstrapping" ;)
<rekado>I think it would be nice if shepherd had a constructor for Guile scripts, so I don’t need to wrap each Guile script in an executable first
<civodul>rekado: if you’re using it from Guix though, “wrapping in an executable” amounts to going from ‘scheme-file’ to ‘program-file’, which should be ok, no?
<civodul>in a non-Guix context, that requires more boilerplate
<rekado>right, this is not in Guix System
<rekado>(it’s for the swineherd)
<vivien>I might have brought down qa.guix.gnu.org because my cat was sitting on my keyboard and I had the browser in focus
<vivien>If I’m responsible, I am deeply sorry
<civodul>:-)
<civodul>rekado: maybe swineherd could provide such a constructor, built on top of ‘make-forkexec-constructor’?
<vivien>I don’t really understand how it happened: the numpad 0 was pressed and remained blocked as I removed the cat. However, I don’t see what key combination involving numpad 0 is a refresh loop on gnome web (epiphany).
<vivien>Maybe it’s simply the arrow keys, but a brief press might have buffered lots of inputs
<vlorentz>I can't access issues.guix.gnu.org either, http 502
<vivien>That’s not me, I had the same error before the incident
<ryblade>hello, i am encountering an error doing my first guixsd install. it's on an ancient Asus EeePC 1000HE, 32-bit. right now i've got irssi running on my phone but if someone could show me how to get irssi running on the guix liveusb, i could more easily share any logs or output that would help with troubleshooting.