IRC channel logs

2019-02-04.log

back to list of logs

<rekahsoft>Does anyone know of a nice way to get a specific build environment setup using 'guix environment ...'? What is the best way to go about debug a package build failure?
<Copenhagen_Bram>I don't know how to enable uefi in libreboot
<Copenhagen_Bram>I can't find out how on duckduckgo either ._.
***Guest27466 is now known as sturm
<atw`>rekahsoft: https://www.gnu.org/software/guix/manual/en/html_node/Debugging-Build-Failures.html#Debugging-Build-Failures has some advice. --keep-failed and guix environment $your_package are what I have used
<Copenhagen_Bram>um
<Copenhagen_Bram>the guix manual says if /sys/firmware/efi exists I should perform an EFI installation
<Copenhagen_Bram>but, it doesn't exist
<Copenhagen_Bram>does that mean EFI isn't enabled?
<rekahsoft>Yes, if you have efi enabled (that is you booted using efi), /sys/firmware/efi should exist (as stated in the manual)
<nckx>Copenhagen_Bram: Correct. Also, I'm not a user, but don't think Libreboot even does UEFI...?
<rekahsoft>nckx: According to its home page it does (it actually looks pretty neat)
<Copenhagen_Bram>Why do I need this EFI thing to unencrypt a root partition anyway?
<nckx>Copenhagen_Bram: You don't?
<Copenhagen_Bram>Oh okay. Then how do I get my computer to boot an encrypted partition without EFI?
<rekahsoft>atw`: Thanks..I've seen this before however I'm not sure how I would go about getting the cargo-build-system dependencies in an guix environment. Can you provide a simple example of using the packages from a given build system (any of the ones defined within any of these modules here: http://git.savannah.gnu.org/cgit/guix.git/tree/guix/build-system)
<rekahsoft>Copenhagen_Bram: do a normal bios boot. So ensure the disk has a bios format partition table (not gpt) and create a single partition (ext4 or whatever is supported by grub). Mark that partition as bootable and follow the guix manual proceedure for installation
<Copenhagen_Bram>not gpt?
<raghavgururajan>When I was in-middle of installing GuixSD in my X200T with libreboot, I stuck with this doubt. The online guide shows to encrypt /root with LUKS. But how to do full disk encryption including /boot?
<rekahsoft>raghavgururajan: grub supports booting from luks disks (here is some docs on the matter in the archwiki: https://wiki.archlinux.org/index.php/GRUB#Encrypted_/boot)
<raghavgururajan>Thanks! When I use to install Hyperbola, I do mkdir /boot under root and then do pacstrap to install base system. But for GuixSD should I create /boot directory under root or will it be automatically created when invoking guix?>
<raghavgururajan>*when installing and initializing system
<rekahsoft>raghavgururajan: as far as I'm aware, it will create it when you install/initialize your guix system
<rekahsoft>If you are using a separate partition for /boot you will need to create a directory and mount it prior to installing/configuration a guix installation
<raghavgururajan>Thanks! I am not creating separate partition for /boot. Just one root partition. So I am not installing grub on the disk, what parameters should I pass in libreboot's GRUB config for "linux" path and initrd?
<raghavgururajan>*for "set root", "linux" and "initrd"?
<Copenhagen_Bram>does guix know to enable GRUB_ENABLE_CRYPTODISK=y in /etc/default/grub?
<nckx>Copenhagen_Bram: There's no such thing as /etc/default but Guix does set it in gnu/bootloader/grub.scm.
<Copenhagen_Bram>Can I open an appimage on GuixSD? How do I open an executable that wasn't installed via Guix, such as if I compiled a program in my home folder?
<Copenhagen_Bram>guix doesn't have flatpak?
*nckx looks up both of those things.
<rekado_>Copenhagen_Bram: you would have to ensure that the loader is in the expected place.
<rekado_>on Guix systems it’s not in a global directory but local to the glibc package.
<rekado_>relying on a single global loader is how binaries on other distros usually work.
<rekado_>Guix doesn’t have a flatpak package (yet?)
<rekado_>if you built a program in you home directory you run it like you always would: ./the-program
*nckx uses (service special-files-service-type ("/lib/ld-linux-x86-64.so.2" ,(file-append (canonical-package glibc) "/lib/ld-linux-x86-64.so.2")))) to fake that, but it doesn't solve much and they should probably drop it.
<rekado_>if it was linked with libraries that don’t exist in the global namespace on a Guix system then obviously it cannot be executed. You would need to relink it.
<rekado_>that’s not a Guix-specific problem.
*rekado_ –> zzZZ?
<nckx>...so Flatpak/AppImage are like binary bundleblobs? Yum.
<Copenhagen_Bram>so when will there be a guixcoin so i can mine coins by challenging binaries and creating new packages?
<pkill9>ooo i found an error with sddm: it calls /usr/bin/X
*Copenhagen_Bram watches guix do its bootstrapping thing
<reepca>so I've been continuously re-trying to build mariadb for an entire day now and still haven't succeeded... the test failures are down to non-determinism, right?
<fredmanglis>Hi there. Is there a way to automatically set the PYTHONPATH variable, or make python find the installed packages in a docker container created with `guix pack -S /bin=bin -S /etc=etc -S /usr/lib=lib -f docker ...`?
<cbaines>fredmanglis, Guix associates search paths like PYTHONPATH with packages
<rekado>fredmanglis: this means that when the container also includes Python itself then the search path would be automatically set
<cbaines>actually, I'm not sure how that helps
<fredmanglis>cbaines: Well, I did try installing a package I defined, in addition to bash and coreutils, but when I loaded the image to docker, and ran python, it couldn't find the packages.
<fredmanglis>They were there though, because when I ran `ls /usr/lib/python3.7/site-packages` they were listed there
<fredmanglis>rekado: That's what I'd expected, but it seems I am missing something
<rekado>fredmanglis: do you run Python inside of the container?
<rekado>fredmanglis: you may need to “source $container/etc/profile” first, if that file contains a PYTHONPATH declaration as expected.
<palica>hey guys/girls, just wanted to say hello!
<palica>installing guixsd now :)
<rekado>palica: hello!
<rekado>palica: good luck with the installation.
<palica>coming from gentoo/funtoo
<palica>but I like what I am seeing so far
<palica>thanks rekado
<rekado>a recommendation is to keep the initial installation configuration simple so that you can benefit from roll-backs sooner
<fredmanglis>rekado: I don't usually run python in the container. I was trying to package all the dependencies of a package into a docker image, then use that as the base for other development
<palica>going with the bare-metal.config
<rekado>palica: good choice
<palica>have to make myself familiar with the concepts
<rekado>fredmanglis: I see. In that case etc/profile probably won’t contain a PYTHONPATH declaration.
<palica>anybody here coming from *ntoo land?
*rekado needs to leave the hotel now
*rekado waves everyone goodbye
<palica>Installation complete, no error reported :)
<janneke>rekado: o/
<palica>rekado: \o
<palica>fredmanglis: what is guix container using as the underlaying technology?
<fredmanglis>palica: what do you mean?
<palica>what is guix container using
<palica>is it chroot
<palica>lxc
<palica>docker
<palica>anything else?
<palica>something else :)
<palica>or just using cgroups ?
<cbaines>palica, a guix system container just uses Linux directly
<cbaines>I'm not quite sure it's using cgroups, just several of the namespace features (mount, pid, ...) I think.
<palica>ok
<palica>thanks cbaines
<palica>can you limit resources?
<cbaines>palica, Guix also supports generating things like Docker containers for example
<palica>I have seen that in documentation
<palica>seems very interesting
<palica>overall I am very impressed from the design and features
<cbaines>palica, as for resource limitation, I haven't seen any examples of this. But it shouldn't been too difficult, you just need to tell Linux to do the right thing
<palica>so kudos to the developers
<palica>well I am using LXD mostly
<palica>so spoiled there
<cbaines>Given Guix packages are normally far more explicit about there requirements, it's possible to use packages directly in isolated and minimal environments
<cbaines>This is what makes some of this possible, for example: guix environment --ad-hoc python --container -- python
<palica>so you don't need to build a complete system container
<palica>you just build webserver container
<palica>am I getting this right?
<palica>ok so that would be for python container
<palica>that is very nice :)
<palica>like it
<palica>even better than docker :)
<palica>I have one question
<palica>I have a static binary
<palica>where can I put it so I can execute it?
<fredmanglis>palica: I'm trying to create a docker image from guix
<palica>fredmanglis: I am new user as of 15 minutes :)
<fredmanglis>palica: :-) Welcome!
<palica>thanks
<civodul>Hello Guix!
<civodul>quite a lot of people here today
<runejuhl>civodul: just wanted to say that I really enjoyed your talk yesterday evening, it was a nice introduction to Guix and the ideas behind
<civodul>heh, thank you runejuhl
<civodul>it was a bit frustrating that we didn't have time for questions
<civodul>especially since i had been provocative ;-)
<runejuhl>yes, the timing wasn't that good -- managed to catch most of the ending keynote, but it would have been nice with a bit more slack between the talks
<runejuhl>...but that's FOSDEM :)
<civodul>yeah!
<civodul>anyway i enjoyed being there
<civodul>it's always energizing
<runejuhl>indeed.. and exhausting
<Sleep_Walker>it was really good talk - I was surprised there is --profile or --manifest options - I really missed it sometimes :)
<Sleep_Walker>and it was a bit more comfortable to just watch streams this year
<Sleep_Walker>but yeah - no social contact
<palica>hey guys! what is guix calling instead of /sbin/init ?
<roptat>hi guix!
<catonano>civodul: was this in room no. K.4.201 ?
<roptat>palica, we use the shepherd as the init
<janneke>hi roptat!
<palica>ok
<civodul>hey roptat, hey janneke! :-)
<civodul>catonano: that was in K.3.something
<janneke>hi civodul! :)
<palica>roptat: does shepherd live also in /gnu/storage
<catonano>ok thanks
<civodul> https://fosdem.org/2019/schedule/event/gnu_guix_new_approach_to_software_distribution/
<roptat>palica, yes, in /gnu/store
<palica>I am trying to test guix inside LXD
<janneke>palica: iirc that does not work yet
<janneke>there have been efforts towards that, i think you can find previous results in the guix-devel list archive
<palica>could I just call /gnu/store/xxx-shepherd/shepherd?
<janneke>palica: https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00078.html
<roptat>palica, I think you will miss the actual configuration of the shepherd if you do that
<palica>janneke: reading the thread thanks
<janneke>palica: hope it helps, iwbn if you got it going/could take the next step
<allana>civodul: was your talk recorded, and do you know if it will be viewable online somewhere?
<civodul>allana: yes it was recorded, i guess videos will be online sometime later
<civodul>mbakke: thanks for LibreOffice!
<allana>civodul: Thanks, looking forward to watching it.
<civodul>mbakke: i think there aren't really any blockers left for merging?
<rekado>Guix Workflow Language video is now available: https://video.fosdem.org/2019/K.4.201/guixinfra.webm
<demotri>How can I reference a multi-module's output in package definitions, like I need (inputs (("icedtea-jdk" ,icedtea-8:jdk))?
<moewe>Hey, I am trying to make a siji font definition, however every other font pulls the source from github with the releases/versioning system, siji doesn't have that. Is there any way to still pull it from upstream, or do I have to fork it?
<demotri>moewe: You can directly clone from git. Let me search for an example.
<demotri>moewe: See for example in gnu/package/web.scm, http-parser. Though if you grep for "git-fetch" you will find several more examples.
<moewe>Thanks!
<demotri>You're welcome!
<apteryx>hello guix!
<apteryx>am I supposed to be able to access any fields after it's been defined in a Guix records?
<apteryx>I'm attempting to access the native-inputs list of pairs, and I get an error saying that it's not a list but a procedure: Not a list: #<procedure native-inputs ()>
<roptat>demotri, try (inputs `(("jdk" ,icedtea-8 "jdk"))), but you can also use the ant-build-system if that's required for the build, it uses the jdk8 by default
<apteryx>the full error is here: https://paste.debian.net/1064981/, and the accompanying example here: https://paste.debian.net/1064942/
<roptat>apteryx, you need (package-native-inputs <package>)
<roptat>usually, the accessor is prefixed by the name of the record type
<apteryx>roptat: what about the package's self native-inputs? I can refer to its name as simply "name", its version as simply "version", in the scope of its definition.
<roptat>ah, it needs to be defined before it's used
<demotri>roptat: Thanks. I'm trying to change the tomcat package. It currently is just the libs, I want the full webserver. I got it running, but now it complains missing a JDK (for compiling JSPs). So, I would add the JDK as propagated input. Sounds good?
<roptat>mh... no, it already has a jdk?
<roptat>ah, it builds fine but wants a jdk at runtime, is that what you mean?
<apteryx>right, but there is some feature in the srfi-9 records (that Guix uses), IIUC, that binds the fields to a local variable that can be conveniently used while defining a record... that works for simple fields such as strings, but for the native-inputs alist, it seems to work also but is strangely wrapped in a procedure?
<rekado>apteryx: you could let bind them, for example. If you want to use them in a build phase, however, you should use (lambda* (#:key inputs #:allow-other-keys) … inputs)
<apteryx>could it be because it is "thunked" ?
<rekado>yes, the field is thunked.
<apteryx>rekado: the problem I have with the "inputs" parameter available on the build side it that we've already lost information about what kind of input they were (native? propagated? inputs?)
<roptat>apteryx, ah maybe you're using unquote? in that case it's not a list anymore, but a procedure call (it gets "translated" from `(("foo" ,foo)) to (("foo" foo)) or something)
<apteryx>I'm trying to let this information sip through
<roptat>I think I would try (list ,@native-inputs) or similar in that case
<demotri>roptat: Exactly: org.apache.jasper.JasperException: java.lang.IllegalStateException: No Java compiler available for configuration options compilerClassName: [null] and compiler: [null]
<apteryx>roptat: interesting! I don't use quoting (simply use the local binding provided by the record facility, but maybe that's what the records library is doing internally
<apteryx>err, unquote
<roptat>apteryx, where do you use it?
<rekado>apteryx: the field is thunked, so the value you get is a procedure
<rekado>this looks like it’s working as it should, no?
<jonsger>hi guix
<roptat>demotri, I don't know much about tomcat. Could you compile everything it needs in the package definition? I think it would be more guix-y this way
<roptat>it would be nice if it didn't try to compile stuff at runtime I guess
<roptat>if that's not possible, then you can add the jdk to propagated-inputs, or hard-code the path to the jdk in tomcat
<apteryx>rekado: I see :-) how do I transform it back into the alist it was?
<demotri>roptat: At a first glimpse, it looks like the package as sich is fine. I can bin/startup.sh tomcat. But when I access at RUNTIME the .jsp page, I get that complain. The cause is that tomcat is compiling at RUNTIME on-the-fly the JSP and thus needs a JDK at runtime.
<apteryx>and more generally, how do I know if a field is going to be thunked or not in (guix) record?
<demotri>roptat: It is just that what's it doing. It NEEDS JDK in propagated-inputs. I will try this now, it was just that I didn't know the syntax to get :jdk in.
<demotri>roptat: Thanks so far, will try next steps :-)
<roptat>demotri, sure, thanks for taking care of that :)
<roptat>although, if you could hard-code the path to the jdk, it would be better (we would avoid conflicts if users want to install a different jdk in their profile)
<demotri>roptat: I see. I will try with the proagated-inputs quickly and will later see how to clean it up.
<rekado>apteryx: the record definition states which fields are “thunked” or “delayed”.
<rekado>apteryx: to get the value of a thunk you need to run it.
<pkill9>hi, I've got an odd issue: My thinkpad X240 laptop running XFCE on GuixSD (with %xfce-desktop-service) often freezes when suspending via closing the lid, but not when suspending via the logout menu, or when running `xfce4-session-logout --suspend`. It also freezes when closing suspending via closing the lid in weston (wayland compositor) but not when running `loginctl suspend`. It doesn't freeze when closing
<pkill9>the lid to suspend when I'm am just in a non-GUI TTY console. Does anyone know what might be causing this?
<pkill9>hmm, it might actually be because my laptop's webcam seems to have a loose connection (disconnecting when moving the lid), and maybe it's disconnecting/reconnecting the webcam during suspending which is interfering with it
<pkill9>i'll see if disabling the webcam in the BIOS fixes it
<pkill9>yes that fixed it \o/
<civodul>hi rekado!
<rekado>hello!
<civodul>great that the GWL video is already available!
<rekado>mumi now displays “blocks”, “blocked by”, and “merged with” properties.
<rekado>it also shows serious + important bugs on the front page.
<rekado>civodul: I reviewed the video on Sunday morning. The workflow is really convenient.
***jonsger1 is now known as jonsger
<civodul>nice
<rekado>apteryx: are you trying to solve bug 25235?
<reepca>quick question before I've gotta run - is mariadb known to eventually pass tests, given sufficiently many attempts?
<bavier>reepca: yes, there are some flaky tests
<bavier>reepca: there are patches on the 'staging' and 'core-updates' branches
<civodul>efraim: great that you got Gold packaged (i like the commit message ;-))
<Elon_Satoshi>good morning
<Elon_Satoshi>so this is how I create an encrypted root partition:
<Elon_Satoshi>* use a dos partition table instead of gpt
<Elon_Satoshi>* make sure the LUKS partition uses luks 1 instead of luks 2
<Elon_Satoshi>Do I need a BIOS boot partition at /dev/sda1, or do I just need to leave some space between the beginning of the drive and the beginning of the partition?
<Elon_Satoshi>(in order to boot an encrypted root partition from a normal BIOS boot without EFI)
<roptat>Elon_Satoshi, you need only a single partition, grub can decrypt it
<roptat>so, just create your partition as usual, keep some space at the beginning of the disk (but fdisk already does that by default) for grub
<roptat>actually, a separate /boot with an encrypted root is broken on guix iirc
***jonsger1 is now known as jonsger
<efraim>civodul: and I have a blog post in the works, got it typed up in the air
<Elon_Satoshi>roptat: And why do I need dos instead of gpt?
<roptat>Elon_Satoshi, I don't know, I didn't want to imply that
<Elon_Satoshi>someone said not gpt
<roptat>only that you need to do the same as usual, but with a luks partition
<Elon_Satoshi><rekahsoft> Copenhagen_Bram: do a normal bios boot. So ensure the disk has a bios format partition table (not gpt) and create a single partition (ext4 or whatever is supported by grub). Mark that partition as bootable and follow the guix manual proceedure for installation
<roptat>I don't really know that part of the booting process, maybe a legacy bios cannot boot on a gpt disk?
<Elon_Satoshi>I can boot fine off of a gpt disk, as long as it's unencrypted.
<roptat>ok, I really don't know, but I'd say it's fine
<roptat>if it's not possible to boot with an encrypted root partition, then use a bios partition table
<apteryx>rekado: thanks for your answers. No, I'm not currently trying to fix #25235 per see, although they seem related.
<apteryx>I was interested in wrapping a Makefile based tools (crosstool-ng) with its inputs only (no native-inputs). It seems there's nothing exposed currently on the build side to do this, so I tried hacking something to "leak" the native-inputs package names into the build side.
<apteryx>The correct fix would of course be to modify the underlying mechanisms to expose the list of native-inputs so that any build system/utilities can make use of it.
<apteryx>The bags have the information but it's grouped a bit differently (build-inputs, host-inputs, target-inputs)
<apteryx>at the time we apply the build system to a bag, this information is lost as the only information passed to the build system about the inputs is "inputs-drvs", which lists the combined inputs derivations.
<apteryx>so probably passing the extra information at that level would enable its use in the build-system, but I haven't attempted this as I wasn't too keen on rebuilding the world
<apteryx>the bag->derivation procedure is defined in (guix packages).
<jackhill>roptat, Elon_Satoshi: I think it depends on your BIOS. Some support GPT and some don't. Mine happens to support it, but if you do use gpt, you need to create a separate "bios_grub" partion for storing the bootloader: https://www.gnu.org/software/grub/manual/grub/html_node/BIOS-installation.html
<jackhill>I recently had adventures with BIOS, GPT, and encrypted root: https://lists.gnu.org/archive/html/help-guix/2019-01/msg00381.html
<jackhill>at the very there might be some troubleshooting help in that thread. It was suggested that we add that to a troubleshooting section of the manual, but that hasn't happened yet.
<jackhill>Elon_Satoshi: from my experience it seems like gpt with and encrypted root will work for you (and Guix does not support a separate unencypted /boot). You'll have to unlock the luks volume twice (once for grub and once for linux-libre)
<jackhill>but otherwise, it seems to work well.
<civodul>efraim: awesome! mail it to guix-blog when you're ready! :-)
<apteryx>j
<reepca-laptop>civodul: just rebased guile-daemon on master again, I think c44484dc20 (fixes python2's site-dir patch when run with a non-default store directory, necessary for test-building any packages using it) and 91cbfa8da9 (improvements to (guix store database)) are ready for merging.
<wigust>mbakke: I've finished building all my manifests on ‘staging’. I prepared two patches for failed to build ‘gtk-vnc’ and ‘php’. Should I push them directly to ‘staging’ branch?
<mbakke>wigust: Great, please do!
<roptat>So I've got the overdrive, but it doesn't scem to have a connector for screen… how can I manage it?
<roptat>Also, it seems that the latest connit of bap can be built with ocaml 4.07, and it's the only user of ocaml 4.02 right now. Should we wait fwr the next release and drop ocaml 4.02 at that point?
<bavier`>when I ctrl-c a 'guix' process, I sometimes see the associated guix-daemon process remain alive
<efraim>roptat: over ssh
<roptat>So there is a system already installed? What's the user and password?
<efraim>sent a PM
<raghavgururajan>Help! I just installed GuixSD on my X200T with libreboot. I did not install bootloader on disk. Since I changed the libreboot's grub.conf for my pervious Hyperbola installation, my now-installed GuixSD is not booting. So to boot manually from libreboot's bash like command line, what values should I use for commands "set root", " linux" and "initrd"
<raghavgururajan>? Please and thank you.
<tune>getting that darn infor-dir.drv failed error again
<tune>I had errors about a couple files already existing so I removed them, maybe that's part of what causes it
<tune>current-guix-1-link first and then after that the error was about current-guix
<tune>removing both lets the update go through but then it just ends with the info problem
<rekado>roptat: no need for ssh when you have a USB cable
<rekado>see the back of the box; there’s a USB B socket
<rekado>connect a cable there, and plug the other end into your own computer.
<rekado>a new device /dev/ttyUSB0 (or similar) should appear and then you just do “screen /dev/ttyUSB0”
<roptat>I don't think I hade one of these cables, and I can't even power the machine up :/
<roptat>The psu doesn't start at all (no fan, light or noise)
<roptat>I checked that it's set on 230V, the switch is on, the power cord is good and everything looks correctly connected in the machine
<roptat>He, https://github.com/janestreet/variantslib/issues/2