<Guest72>substitution of /gnu/store/q0s3bi0by383cqzl9zz1wf74p6pdl3fc-libx11-1.6.A-doc failed
<Guest72>guix pull: error: some substitutes for the outputs of derivation `/gnu/store/mvf88n2v90jjxg9n8b315p22r6jrkbyb-libx11-1.6.A.drv' failed (usually happens due to networking issues); try `--fallback' to build derivation from source
<Guest72>I have the code of the virtual machine if someone wants to try to run it
<libertyprime>hey guys. I've just gone through guix-install.sh and info page instructions for installing guix on ubuntu20. i've also installed the guix emacs package via melpa now I receive the following error while trying to run a guix command in emacs: http://ix.io/3q5d
<libertyprime>Error in evaluating guile expression: While executing meta-command: error: package/output-sexps: unbound variable
<libertyprime>Just wondering if there is an obvious fix for this. My guix installation appears to be working fine. I have even managed to update guix and install packages from a normal user
<libertyprime>i diligently read the info pages during setup and noticed warnings about things such as locales and fonts, but im wondering aside from that, am i likely to encounter problems later on due to me being on ubuntu rather than guixsd?
<ecbrown>theoretically you will run in to problems ;-)
<libertyprime>haha. ok. would it pay to focus on my scheme skills before diving into guix?
<ecbrown>well, i had advantage of knowing emacs lisp and clojure, so i don't have much trouble with syntax
<mange>libertyprime: It depends on how you use Guix, but I've certainly run into issues. Usually it's to do with environment variables that Guix sets interfering with what Ubuntu-installed programs require (XDG_DATA_DIRS, and various *_PATH environment variables, mostly).
<mange>As two illustrative examples: (a) in my .profile I have to set XDG_DATA_DIRS to /usr/local/share/:/usr/share/ (which is what an empty value is interpreted as) so Guix can prepend values safely; (b) in awesomewm (my window manager) I launch other programs and I have to clear LD_LIBRARY_PATH and GI_TYPELIB_PATH to not break things.
<apteryx>raghavgururajan: it's starting to look good! Thank you for taking the time to revise it. Remaining nitpicks: "It provides following [...]" -> "It provides *the* following [...]"; test-suite -> test suite.
<apteryx>I personally don't find the comments in the patch phase bring much, e.g.: ;; To correct PREFIX path. I'd leave them out, the substitutions are explicit enough. Also I'd find it more natural if they were using the imperative style (giving instruction/doing some action) such as: ;; Correct the installation prefix.
<apteryx>raghavgururajan: that's it! Feel free to push with something along the above changes :-).
<cbaines>soheilkhanalipur, are you using Gnome/NetworkManager?
<drakonis>Chromium isnt at fault and have you recently invoked guix pull and upgraded your system?
<cbaines>and have you got an IP address when connected via ethernet?
<remyd1>Hi. I am a bit new on guix and I am trying to setup a guix environment for HPC usage. I have a permission denied issue with "/var/guix/profiles/per-user/" folder when trying to setup a new subdirectory for a new user.
<remyd1>I tried to change the permissions on that directory, but the guix-daemon seems to setup back readonly
<remyd1>Any idea on what I missed ? Should I reinstall the guix node ?
<remyd1>using "vimdiff /root/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/nix/libstore/build.cc /root/.cache/guix/pull/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/nix/libstore/build.cc" the patch seems to be applied by the guix pull.
<ecbrown>whatsoever, 5432 is my canary in a coalmine
<cbaines>canant, unfortunately there's a bit of a gap between the way sqitch connects to PostgreSQL and the way the connection from Guile is handled. Do you know if you can connect to PostgreSQL via a unix socket, or do you need to connect via the network?
<cbaines>soheilkhanalipur, as for Network Manager, does it think you're connected via ethernet?
<soheilkhanalipur>cbaines: I'm a newcomer to GuixSystem, and unfortunately I had this weird problem!
<The_tubular>Also I don't know about guix, but for example to use gentoo's package manager you needed to have bash as it was calling scripts with bashims in it. Is there some things like that in guix ?
<The_tubular>Could you elaborate roptat ? I'm not sure I understand
<The_tubular>I mean a "classic" package manager would install the dependencies while you install a package, what's the difference with guix ?
<roptat>The_tubular, like nckx said. If a package needs bash, it refers to it, and guix will "install" bash in the store, even if you didn't explicitely require it
<cbaines>soheilkhanalipur, I've run out of time to help, but I would try using tools like ping to ping your modem, and perhaps try checking the physical connection as well (use a different cable, different port if possible, check if the lights are flashing).
<viivien>I’d say, guix will arrange for the package to find bash without you needing to install it
<roptat>soheilkhanalipur, I think the issue was the network card "not syncing" somehow, and after some time, it would be marked as "disconnected"
<nckx>The_tubular: When package A requires bash, bash will be present in /gnu/store, but only packages like A that ‘know’ its hash can actually invoke it (or curious humans). But it's not in $PATH or anything else, i.e. what Guix means by ‘installed’.
<nckx>Important here: installed != present on the system.
<The_tubular>So a user won't be able to call the binary even though it's installed on the system correct ?
<roptat>it's not installed on the system, but it's present on the system
<nckx>Only through manual /gnu/store/<long hash>-foo-1.2.3/bin/foo.
<The_tubular>Unless you specify that that user need that binary I suppose ?
<nckx>The_tubular: Right, then that user would ‘guix install package’ and all that would change is that (a) /gnu/store/…/bin/foo is now in $PATH and (b) foo won't get garbage collected even if no other package uses it.
<soheilkhanalipur>cbaines: I have checked this over and over again, and even bought a new LAN…
<The_tubular>Got it, I just don't understand why it does this though :P
<nckx>The_tubular: It's how the entire system of functional package and dependency management works, so it's a bit broad to answer…
<roptat>The_tubular, it helps with understanding operations and making them atomic, as well as allowing multiple incompatible dependencies to be used by different installed packages
<nckx>How would you know that binary A requires which exact build and version of libfoo if all the libfoos aren't in a separate unique directory?
<roptat>it's up to you, usually I define the minimal set of packages in the system, that all the users (root and others) need, and all the rest is part of my user profile
<nckx>Sytem just means the package is available as soon as even the newest of users logs in, so they don't have to install coreutils, but if they *do* install coreutils their coreutils will mask the system's.
<viivien>And, system packages can be automatically updated
<nckx>soheilkhanalipur: If any of us had any idea what's wrong we would.
<The_tubular>From what I see, and my purpose I feel like I should install pretty much everything in system package ... Cause well I'm ususally the only user of my machines, and auto-update are important to me
<viivien>It will update the system packages automatically, but not the user packages
<nckx>That's just a ‘someone happened to write some x that can do a but not b because they didn't bother writing that part’ though.
<nckx>And it's considered rude to update user's packages. It's not a fundamental thing.
<viivien>But then, if an obscure package blocks the unattended upgrade, you might not realize it for months
<nckx>Yeah, don't put Web browsers in your system profile :)
<The_tubular>Also, while looking at %base-package there's no cron stuff, nor logging stuff... Should I install them manually like with Gentoo ? Or is there something else II don't know yet ?
<nckx>The entire system upgrade is atomic, so you'll wait for IceCat to build so you can change your user group membership.
<cbaines>canant, you'll need to run make to re-generate the guix-data-service script, you're probably still using the old one
<nckx>The_tubular: Packages and services are separate. If you'd install cron or syslog, you'd get a cron/syslog in $PATH that just… sits there. Things that do stuff when the system boots are different beasts, put in (services …).
<viivien>The binary packages aren’t built before the update is pushed. So, there’s a time window between when a Rust crate has been updated, and when the dependent icecat has been rebuilt
<nckx>The_tubular: If by binary you mean substitute: maybe.
<nckx>Some users don't use substitutes, sometimes the substitutes fail, sometimes you try to install something before the substitute has been built upstream.
<canant>cbaines yep, you're right, after make the previous issue is resolved but now I'm getting this.
<nckx>‘guix pull’ users see updates at the same time the build farm does, so if you don't wait for it to build something brand-new Guix will just poll the farm, see nothing, start building it on your machine, even if the build farm is busily building the same thing.
<Guest60>Hi, I am trying to install guix on a remote dedicated server which means I can't (AFAIK) boot onto the downloadable ISO file. I am currently following the install guide and am stuck on `herd start cow-store /mnt`, with the error message "herd: service 'cow-store' could not be found". What can I do? Thanks
<dstolfa>Guest60: you could probably do it from a debian installation with `guix system init` i assume if it's too much of an issue?
<Guest60>dstolfa: Thanks for the help, I'll have a look at that blog post, this seems to be pretty much what I'm currently trying to do (except I'm doing it from a "rescue system" instead of debian). It seems that it in blog post, `herd start cow-store /mnt` is just skipped, so I'll try to do that too
<roptat>this problem is most likely related to your system, not user packages, so I was asking whether you had tried booting an older system, see if that older system still works or not
<roptat>if it still works, we can say it's something in the new system, if it doesn't work anymore, it's probably related to some hardware
<\a>My (btrfs) filesystem mounted read only and did not fix when I restarted with linux-libre 5.12.10. When I booted from an older generation, with linux-libre 5.12.8, it worked (the filesystem mounted read-write)
<dstolfa>cbaines: yeah, it's really annoying in many ways... i don't update all that often (i do it once a month usually, scheduled), but i can imagine that if someone updates often, this would be a pain
<Noisytoot>Why does ungoogled-chromium change so oftern?
<dstolfa>lfam: ah makes sense. i was thinking more along the lines of "the build of the chromium package itself can be distributed across all the cores in the cluster in a way that avoids I/O bottlenecks without losing persistence"
<roptat>so, it looks like, we would need to build protoc, using the exact same version as the one that's part of the repository, and use it so generated the required java sources. Then, along with building all these dependencies, we would be able to run the bootstrap and build scripts
<lfam>If you do `guix show openjdk`, you'll see these packages have "multiple outputs". They are kind of like "sub-packages".
<lfam>You refer to them on the command-line like `guix install package:output`
<apfel>lfam: yes, i know that, although until today this never was in my way. I probably did install the jdk explicitly after realizing that javac was missing. Or could there be another reason for the jdk output being present?
<lfam>It would only be in your profile if you installed it
<lfam>Things are never automatically installed there
<lfam>I agree, you were probably looking for javac
<efraim>interesting build failure in diffutils-boot0 on riscv: bash: No child processes
<apteryx>efraim: nice that you are working on riscv!
<vagrantc>efraim: ah, you're also blocked at diffutils-boot0 now?
<sneek>vagrantc, efraim says: how'd you make the debian image for the hifive unmatched? I'm convinced there's something wrong with my base image so I was going to start with a fresh one and I'd rather use debian
<vagrantc>guessing sneek's message was from before i sent the email to the list
<ixmpp>The ipfs service is containerised/sandboxed, which means it cant mount the fuse filesystems at /ipfs,/ipns, right?
<maximed>ixmpp: IPFS is run in a separate mount namespace, so yes, mounting stuff at /ipfs and /ipns probably won't work. However,
<jab>Also may I ask when you are going to add a guix service for gitile? That is probably one of the coolest things I've ever seen! Guix is actually building a lot of the peices for a gitlab alternative!
<civodul>i tend to think that everyone should be having the same problem, not just Guix
<apteryx>civodul: duh! Thanks. About using %host-type in (guix scripts pack) for the docker-image generator, it seems it should be #:system (or #$target %host-type), if target is to be a GNU triplet as the doc string implies.
<civodul>and so basically everyone should be unable to pull from bitbucket
<apteryx>OK! I've found another little gem, in that 'guix pack' tarballs can contain hard links. The Guix code correctly prepares the file system with symlinks, but tar somehow arrive to produce a hard link.
<apteryx>I'm trying to come up with a minimal reproducer to log an issue against GNU tar, but if you are curious to see it in action: tar -tvf $(guix pack -S /opt/gnu/bin=bin hello). The last file printed is the hard link.
<ruffni>nckx: i'll try that! altough i just figured out the hard way: (let* ((port (open-input-pipe "pwd"))) (read-line port))
<nckx>That is the very hard way, but you learnt something :)
<apteryx>so, after reading that tar thread, it seems expected for GNU Tar to create hard links for any duplicated files found from the input files. Since it recurses the directories, if you pass a directory and its subdirectory, the same files will be added twice, causing symlinks.
<apteryx>I'll add something in (guix scripts pack) to resolve only the top level directories to add.
<ruffni>nckx: i'm pretty sure i've learnt this a couple of times before... :) but thanks! (getcwd) is what i was looking for!
<nckx>I found pipes in Guile intimidating and avoided them, which in retrospect was probably a good thing, coming from the bash-centric world of Exherbo & Nix. Teaches you that, no, it isn't shell, you don't call grep every 5 seconds.
<ruffni>:) i really love how guix glues all that ancient history of posix and what not together and adds one beautiful, stringent interface to it