Re: Emacs Impatient Mode File Access
On Sat, 26 Nov 2022 12:15:28 +0100 Thorsten Wilms wrote: > I wrote a package for https://github.com/skeeto/impatient-mode > It works to the point where I get a list of “Public Buffers” with one > item as expected on http://localhost:8080/imp/, but when I click > “test.html”, I get: > error: (file-missing Opening input file No such file or > directory > /gnu/store/dszh53pr1a76ff6jqzhxs7krkmgdic2m-emacs-impatient-20200723.2117/share/emacs/site-lisp/impatient-20200723.2117/index.html) Looking for packages that do something similar, I found markdown-preview mode and copied a line, found out .js is also required, which makes it: (arguments '(#:include '("\\.el$" "\\.html$" "\\.js$"))) Case closed, sorry about the noise!
Emacs Impatient Mode File Access
Hi! I wrote a package for https://github.com/skeeto/impatient-mode It works to the point where I get a list of “Public Buffers” with one item as expected on http://localhost:8080/imp/, but when I click “test.html”, I get: error: (file-missing Opening input file No such file or directory /gnu/store/dszh53pr1a76ff6jqzhxs7krkmgdic2m-emacs-impatient-20200723.2117/share/emacs/site-lisp/impatient-20200723.2117/index.html) Now what to do? The package: --- (define-module (emacs-impatient) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system emacs) #:use-module (gnu packages emacs-xyz)) (define-public emacs-impatient (package (name "emacs-impatient") (version "20200723.2117") (source (origin (method url-fetch) (uri (string-append "https://melpa.org/packages/impatient-mode-; version ".tar")) (sha256 (base32 "03c1dfygjlb5pzaafapv0y2mvcjlq9lhavbdqqwjv203lbs8fc66" (build-system emacs-build-system) (propagated-inputs (list emacs-simple-httpd emacs-htmlize)) (home-page "https://github.com/skeeto/impatient-mode;) (synopsis "Emacs mode for live-viewing changes to HTML in a browser") (description "See the effect of your HTML as you type it.") (license license:public-domain))) --- Thanks!
Re: to record a song
On Sat, 6 Aug 2022 09:32:27 + Gottfried wrote: > In order to record a song with my laptop, which programs are useful? > > I found audacity and audacious. Audacious is a player. If you just want to record a few tracks from audio input with minor cutting and arranging afterwards, try Audacity. For a more ambitious project, use Ardour. -- Thorsten Wilms
Re: Foreign distro Unity desktop broken after guix update
On Tue, 28 Dec 2021 21:45:26 + Fredrik Salomonsson wrote: > > I added > > ``` > > export > > GDK_PIXBUF_MODULE_FILE=/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache:/home/thorwil/.guix-profile/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache > > export LIBRARY_PATH=/usr/lib:/home/thorwil/.guix-profile/lib > > ``` > > to .profile. Now I have all icons back! Guess there’s a better way? > > Nice! I'm not sure there's a better way, other than having guix control > the full GNOME stack (which is probably not feasible or desirable on a > foreign distro). I since learned that setting the paths like that makes the Ubuntu-side work, but guix stuff will fail. Gnucash bails out, Inkscape segfaults and GIMP runs without toolbox icons. Also, with a bit of thought, GDK_PIXBUF_MODULE_FILE must point to one file; it can’t be a chain of paths. Thus at the very least GDK_PIXBUF_MODULE_FILE must be one thing for Ubuntu and another for guix. Short of running all guix-installed stuff from a terminal after setting the variable there, is there any solution? I also found out that plain `gdk-pixbuf-query-loaders` resolves to the guix version. The Ubuntu version resides at /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders My current theory is that this pixbuf-mixup has been going on for longer, but only a recent guix update made stuff incompatible. In addition, some caching might complicate matters. Thank you for your thoughts, Fredrik! -- Thorsten Wilms
Re: Foreign distro Unity desktop broken after guix update
On Mon, 27 Dec 2021 22:17:22 +0100 Thorsten Wilms wrote: > > env LD_DEBUG=libs LD_DEBUG_OUTPUT=/tmp/trace > > Interesting, but I’m puzzled about how to use that with compiz/unity. I noticed that some icons in GNOME-applications are missing, so any of those might do in place of compiz. They all belong to Ubuntu, not guix. The result of `env LD_DEBUG=libs LD_DEBUG_OUTPUT=/tmp/trace gnome-calculator` told me that /gnu/store paths are checked first and exclusively for several libraries. LD_LIBRARY_PATH is empty and `env | grep /gnu/store` prints nothing, but env does contain ``` GDK_PIXBUF_MODULE_FILE=/home/thorwil/.guix-profile/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache GIO_EXTRA_MODULES=/home/thorwil/.guix-profile/lib/gio/modules:/home/thorwil/.guix-profile/lib/gio/modules LIBRARY_PATH=/home/thorwil/.guix-profile/lib:/home/thorwil/.guix-profile/lib ``` I don’t recall ever doing anything about those; they are not defined in .profile or .bashrc. I added ``` export GDK_PIXBUF_MODULE_FILE=/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache:/home/thorwil/.guix-profile/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache export LIBRARY_PATH=/usr/lib:/home/thorwil/.guix-profile/lib ``` to .profile. Now I have all icons back! Guess there’s a better way? This is no longer looks like a guix-topic, but compiz still segfaults after many errors for various SVGs, like: ``` ERROR 2021-12-28 10:50:18 nux.gltexture.resource.manager GLTextureResourceManager.cpp:54 Invalid target, impossible to generate a new texture. Impossible to generate a pixbuf: Couldn’t recognize the image file format for file “/usr/share/unity/icons/search_spin.svg” ``` `file` and the image viewer eog have no problem with “/usr/share/unity/icons/search_spin.svg”. There’s also ``` compiz[8431]: WARN 2021-12-28 10:50:15 unity.glib.dbus.server GLibDBusServer.cpp:595 Can't register object 'com.canonical.Unity.Dash' yet as we don't have a connection, waiting for it... compiz[8645]: WARN 2021-12-28 10:50:18 unity.glib.dbus.server GLibDBusServer.cpp:595 Can't register object 'com.canonical.Unity.Launcher' yet as we don't have a connection, waiting for it... ``` -- Thorsten Wilms
Re: Foreign distro Unity desktop broken after guix update
On Mon, 27 Dec 2021 19:37:07 + Fredrik Salomonsson wrote: > printenv LD_LIBRARY_PATH Empty > env | grep /gnu/store Empty > Another reason why the runtime linker would pick up that library would > be if its path is added to the /etc/ld.so.conf configs. But I highly > doubt it's the issue. Via include, that makes for the following list: /usr/lib/x86_64-linux-gnu/libfakeroot /usr/local/lib /usr/local/lib/x86_64-linux-gnu /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu > If you want to go down the rabbit hole you can use the LD_DEBUG > environment variable to get some debug output. The libs option is > probably the most useful to you as that will print where it's looking > for stuff and why. Use: > > env LD_DEBUG=libs LD_DEBUG_OUTPUT=/tmp/trace Interesting, but I’m puzzled about how to use that with compiz/unity. > I hope that helps a bit. A good start. Thank you! -- Thorsten Wilms
Foreign distro Unity desktop broken after guix update
Hi! Unity desktop stopped working after the first ’guix pull && guix package -u’ in maybe 2 weeks. There has been no update on the Ubuntu side between the last succesfull run and now, as far as I can tell. Unity desktop causes a few redraws, then exits back to the session greeter (lightdm). Now I would have assumed that there is no interaction between Unity and guix, since the former is entirely on the dpkg side. But via journalctl, I found a whole lot of: ``` Dec 27 15:44:51 charly compiz[2198]: ERROR 2021-12-27 15:44:51 nux.gltexture.resource.manager GLTextureResourceManager.cpp: 54 Invalid target, impossible to generate a new texture. Impossible to generate a pixbuf: Unable to load image-loading module: /gnu/store/2dza2psfbrrbvsni8jjqzzqx3hmm8kw8-librsvg-2.50.7/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /lib/x86_64-linux-gnu/libpthread.so.0: version `GLIBC_PRIVATE' not found (required by /gnu/store/2fk1gz2s7ppdicynscra9b19byrrr866-glibc-2.33/lib/librt.so.1) ``` It looks like compiz segfaults shortly after a bunch of those, followed by unity7.service. Any ideas why dpkg-compiz tries to use guix-librsvg and what to do about it, or what else is going on here? -- Thorsten Wilms
Empty store items
Hi! I wanted to try use lv2ls and lv2info, both belonging to lilv and found the commands to do nothing, have no man page and no --help. Then I tried to start Ardour, but it fails with: ``` WARNING: Could not check your glib-2.0 for mutex locking atomic operations. /gnu/store/yxivqfaqiaihycfpzrk5pil6p4x5s4j2-ardour-6.6/lib/ardour6/ardour-6.6.0: error while loading shared libraries: /gnu/store/5q75cw8lnw4kfg9nss5vwkx8pxakk96l-lilv-0.24.10/lib/liblilv-0.so. 0: file too short ``` That store item has size zero, indeed. I tried: ``` $: sudo guix build --repair lilv path `/gnu/store/5q75cw8lnw4kfg9nss5vwkx8pxakk96l-lilv-0.24.10' is corrupted or missing! substituting /gnu/store/5q75cw8lnw4kfg9nss5vwkx8pxakk96l-lilv-0.24.10... downloading from https://ci.guix.gnu.org/nar/lzip/5q75cw8lnw4kfg9nss5vwkx8pxakk96l-lilv-0.24.10 ... lilv-0.24.10 73KiB 1.3MiB/s 00:00 [##] 100.0% path `/gnu/store/4cvazxmvkh29l83qk50wy3yb7whpq9md-sord-0.16.8' is corrupted or missing! found corrupted or missing path `/gnu/store/4cvazxmvkh29l83qk50wy3yb7whpq9md-sord-0.16.8' in the output closure of `/gnu/store/0l7pb0nf8fpp7ddv576ighprnz29lgjd-lilv-0.24.10.drv' path `/gnu/store/bzn76d1mf3bnrac3z5w829fywz4njwa5-sratom-0.6.6' is corrupted or missing! found corrupted or missing path `/gnu/store/bzn76d1mf3bnrac3z5w829fywz4njwa5-sratom-0.6.6' in the output closure of `/gnu/store/0l7pb0nf8fpp7ddv576ighprnz29lgjd-lilv-0.24.10.drv' path `/gnu/store/wx0hlikzcz1x1m84qn1s0z10v9b4kz1q-serd-0.30.8' is corrupted or missing! found corrupted or missing path `/gnu/store/wx0hlikzcz1x1m84qn1s0z10v9b4kz1q-serd-0.30.8' in the output closure of `/gnu/store/0l7pb0nf8fpp7ddv576ighprnz29lgjd-lilv-0.24.10.drv' substituting /gnu/store/wx0hlikzcz1x1m84qn1s0z10v9b4kz1q-serd-0.30.8... downloading from https://ci.guix.gnu.org/nar/lzip/wx0hlikzcz1x1m84qn1s0z10v9b4kz1q-serd-0.30.8 ... serd-0.30.8 55KiB 1.4MiB/s 00:00 [##] 100.0% substituting /gnu/store/4cvazxmvkh29l83qk50wy3yb7whpq9md-sord-0.16.8... downloading from https://ci.guix.gnu.org/nar/lzip/4cvazxmvkh29l83qk50wy3yb7whpq9md-sord-0.16.8 ... sord-0.16.8 35KiB 2.1MiB/s 00:00 [##] 100.0% substituting /gnu/store/bzn76d1mf3bnrac3z5w829fywz4njwa5-sratom-0.6.6... downloading from https://ci.guix.gnu.org/nar/lzip/bzn76d1mf3bnrac3z5w829fywz4njwa5-sratom-0.6.6 ... sratom-0.6.6 15KiB 2.0MiB/s 00:00 [##] 100.0% /gnu/store/5q75cw8lnw4kfg9nss5vwkx8pxakk96l-lilv-0.24.10 ``` But the problem persists. All actual lilv store items remain empty. gc --verify thinks the store is in order, so there’s nothing to repair: ``` sudo guix gc --verify=repair reading the store... checking path existence... ``` There are 7694 empty items, even after `guix package --delete-generations; guix gc --collect-garbage`: ``` $: /gnu/store: find -empty | wc -l 7694 ``` I had trouble with fs corruption before, but this always meant being thrown into the initramfs prompt for a round of fsck. Didn’t happen this time, and fsck did not find any issues now. There is 39G free disk space and inode use is at 18%. Any ideas? -- Thorsten Wilms
Re: DISTRHO-Ports license situation
On Tue, 22 Jun 2021 21:12:35 +0200 Thorsten Wilms wrote: > I created a package for https://github.com/DISTRHO/DISTRHO-Ports. > I now wonder if I should submit a patch, because the licensing > situation is a mess, with several of the plugins having no information > attached at all, though most have at least a pointer to a repo that > claims a license (gpl2, gpl3, gpl3+, agpl3, MIT). > > The original versions of all plugins have been created with JUCE, > which I though would require GPLing when using the free/personal > license, but at least currently does so only when exceeding $50k > revenue (https://juce.com/juce-6-licence). > > So parts of this is Free Software, other parts are ... just > technically open-source. Would you accept this in Guix? I went ahead and submitted http://debbugs.gnu.org/cgi/bugreport.cgi?bug=49224
DISTRHO-Ports license situation
Hi! I created a package for https://github.com/DISTRHO/DISTRHO-Ports. I now wonder if I should submit a patch, because the licensing situation is a mess, with several of the plugins having no information attached at all, though most have at least a pointer to a repo that claims a license (gpl2, gpl3, gpl3+, agpl3, MIT). The original versions of all plugins have been created with JUCE, which I though would require GPLing when using the free/personal license, but at least currently does so only when exceeding $50k revenue (https://juce.com/juce-6-licence). So parts of this is Free Software, other parts are ... just technically open-source. Would you accept this in Guix? -- Thorsten Wilms
Re: How to repair/reinstall guix on foreign distro
On Tue, 18 May 2021 11:20:41 +0200 Ricardo Wurmus wrote: > > I would still like to have a minimal invasive way to get beyond: > > ``` > > guix pull: error: Git error: invalid data in index - incorrect > > header > > signature > > ``` > > Try erasing the git cache at ~/.cache/guix/checkouts first. Thank you, that did the trick! -- Thorsten Wilms
Re: How to repair/reinstall guix on foreign distro
On Tue, 18 May 2021 10:30:03 +0800 c4droid wrote: > I was install guix on a ubuntu server and work right, can you > reproduce you guix installation process? maybe the fault happen in > install guix process. Thanks, but this has been a working guix installation, so I very much doubt something went wrong during setup. -- Thorsten Wilms
Re: How to repair/reinstall guix on foreign distro
On Mon, 17 May 2021 22:23:03 -0400 Joshua Branson wrote: > Is ubuntu causing this issue? Why are you seeing an initramfs prompt > every few weeks? If you are running guix on ubuntu...that seems like > it's ubuntu's fault. Though I'm probably way wrong. If there are filesystem errors on boot, you get a initramfs shell that allows running fsck on root for repairs. Sometimes, some files can’t be fixed. The system resides on a Transcend 256GB MTE110S SSD. Now one would probably assume that SSD is faulty. What’s curious is that so far, any and all noticeable corruption has been limited to guix-related files! smartctl repports "overall-health self-assessment test result: PASSED" and has "No Errors Logged". Full output attached at the end. It does however claim that all except one power cylce has been an unsafe shutdown, even though I had only a few hard resets and usually shutdown by issuing `poweroff`. Searching the web for this issue led me to turning off fast boot in the BIOS, but that didn’t help. I would still like to have a minimal invasive way to get beyond: ``` guix pull: error: Git error: invalid data in index - incorrect header signature ``` Or a way to to remove/replace /gnu/store from the running system. ``` ~: sudo smartctl -x /dev/nvme0n1p2 [sudo] password for thorwil: smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.8.0-53-generic] (local build) Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Number: TS256GMTE110S Serial Number: G286710001 Firmware Version: S0905C3 PCI Vendor/Subsystem ID:0x126f IEEE OUI Identifier:0x00 Controller ID: 1 Number of Namespaces: 1 Namespace 1 Size/Capacity: 256.060.514.304 [256 GB] Namespace 1 Formatted LBA Size: 512 Local Time is: Tue May 18 09:23:26 2021 CEST Firmware Updates (0x12):1 Slot, no Reset required Optional Admin Commands (0x0007): Security Format Frmw_DL Optional NVM Commands (0x001f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Maximum Data Transfer Size: 64 Pages Warning Comp. Temp. Threshold: 83 Celsius Critical Comp. Temp. Threshold: 90 Celsius Supported Power States St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat 0 + 9.00W --0 0 0 00 0 Supported LBA Sizes (NSID 0x1) Id Fmt Data Metadt Rel_Perf 0 + 512 0 0 === START OF SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED SMART/Health Information (NVMe Log 0x02) Critical Warning: 0x00 Temperature:48 Celsius Available Spare:88% Available Spare Threshold: 10% Percentage Used:0% Data Units Read:1.136.204 [581 GB] Data Units Written: 1.901.390 [973 GB] Host Read Commands: 15.204.795 Host Write Commands:18.097.210 Controller Busy Time: 1.386 Power Cycles: 276 Power On Hours: 1.214 Unsafe Shutdowns: 275 Media and Data Integrity Errors:0 Error Information Log Entries: 0 Warning Comp. Temperature Time:0 Critical Comp. Temperature Time:0 Error Information (NVMe Log 0x01, max 64 entries) No Errors Logged ``` -- Thorsten Wilms
How to repair/reinstall guix on foreign distro
Hi! It seems every few weeks i’m thrown into a initramfs prompt, as root got mounted read-only. The way out is always running fsck, which reports errors and offers fixes that I either can’t map to anything, or that refer to paths that belong to guix. Usually only below /gnu/store, but this time also var/guix. Now `guix pull` fails with: ``` ;;; WARNING: loading compiled file /gnu/store/8bsnz1fk330qbn1p8k18i0j11vld4jxd-guix-module-union/lib/guile/3.0/site-ccache/guix/build-system/gnu.go failed: ;;; In procedure load-thunk-from-memory: not an ELF file Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'... guix pull: error: Git error: invalid data in index - incorrect header signature ``` At first, I focused on the warning (sorry, leoprikler) ... the same git error happens when using an older guix. Now a fix for that would be great, but independent of that, I have to wonder how one should go about reinstalling guix on a foreign distro. I cannot umount or remount and remove /gnu/store! Even after `sudo systemctl stop gnu-store.mount`, /gnu/store is busy. `fuser -kim /gnu/store/` will throw me out of the session, even though I would think everything that belongs to it is part of the host (Ubuntu Unity 20.10). No sudo umount or remount or rm -rf allowed, /gnu/store remains ro and busy. Short of booting another system (say an USB stick), is there a way to clear /gnu/store? Or to safely replace its content? -- Thorsten Wilms
Re: guix pull fails because substitution fails
On Tue, 15 Dec 2020 14:24:09 +0100 zimoun wrote: > On my machine, > > guix time-machine --commit=9fe5bb7 \ >-- pull --commit=b828057 -p /tmp/new > > works. What does it say on your machine? Didn’t try that: After several days of always the same failure, `guix pull` is suddenly working again. So if this comes down to a networking issue, I wonder what went wrong for several days that did not affect any other service. > Ouch! what I was in mind is that you GC time to time and not keep all > these versions. :-) For example, “guix pull --delete-generations=6m” > to keep only the last 6 months generations. Then the next “guix gc” > will remove all these old generations; well if you never roll-back to > them. This is a bit embarrasing: I have been using `guix package --delete-generations; guix gc --collect-garbage` frequently and up to this day did not realize that there’s another “level”, which can be dealt with via `guix gc --delete-generations`. Many thanks for your help, simon! -- Thorsten Wilms
Re: guix pull fails because substitution fails
zjmplvhaz-gx-switchless-wah-lv2-0-2.7b0869120 gx-suppa-tone-bender-lv2 0.1 out /gnu/store/na22fkm66sd6b3swx9jgg3jhrz09xgr3-gx-suppa-tone-bender-lv2-0.1 gx-super-fuzz-lv2 0.1 out /gnu/store/npfia2cxlj1bbxzbw1r6qlnqgvgpl82j-gx-super-fuzz-lv2-0.1 gx-push-pull-lv2 0-1.7f76ae206 out /gnu/store/fawhz8ykzjc76qw1dks1vlfbcfs8qkn1-gx-push-pull-lv2-0-1.7f76ae206 gx-overdriver-lv2 0-1.ed7180198 out /gnu/store/4ljymhabjsbynxwnxsmv7hm8n6gxyk7s-gx-overdriver-lv2-0-1.ed7180198 gx-hyperion-lv2 0.1 out /gnu/store/idkzpq3dbc235wk5r5ixpdl4pbfzflq4-gx-hyperion-lv2-0.1 gx-guvnor-lv2 0.1 out /gnu/store/k993kzpfyrlkh25k26fhjy1lz16z50np-gx-guvnor-lv2-0.1 caps-plugins-lv2 0.9.24 out /gnu/store/wq54v6pg58di5xsmw9asxl34pzqw1ljw-caps-plugins-lv2-0.9.24 lv2-mda-piano 0.0.2 out /gnu/store/8hm8hqvpghvn3yr4gacfhrhjq8amh1z9-lv2-mda-piano-0.0.2 lv2-mda-epiano0.0.2 out /gnu/store/2ca3vq3g00bvb2zsiwwmyj72nizb361f-lv2-mda-epiano-0.0.2 emacs-geiser 0.12out /gnu/store/6x8pww8cc35bqxj1smp7w3qf8g891yb7-emacs-geiser-0.12 xclip 0.13out /gnu/store/5mh2pln3wmgqk82rarqsbbkv8kkvl6y5-xclip-0.13 asciidoc 8.6.10 out /gnu/store/xwqap1ilhv3b5cwjv1c8g9kgx5vdl90s-asciidoc-8.6.10 libwebp 1.1.0 out /gnu/store/ss433an5pgah1gaadw6y0h79spl8kxh7-libwebp-1.1.0 emacs-racket-mode 0.0.2-6.5eb31a2 out /gnu/store/g5fwr3v2bkbq4gim3cm65j2zgnlzs2ww-emacs-racket-mode-0.0.2-6.5eb31a2 emacs-magit 2.90.1-6.7f486d4out /gnu/store/pn5kvcmajhnixzbaslapzv00gkybz8v6-emacs-magit-2.90.1-6.7f486d4 youtube-dl2020.09.20 out /gnu/store/bpgkp4b0g8w11rkbc6pnxrn4yvh1jfs2-youtube-dl-2020.09.20 murrine 0.98.2 out /gnu/store/hpf73psmjyz2kmik1fa64gaqzml3hqhh-murrine-0.98.2 imagemagick 6.9.11-11 out /gnu/store/99fk9yi5w2afp4lrvzvplfspi76303x2-imagemagick-6.9.11-11 feh 3.5 out /gnu/store/1bd5dzjbl2hyj7vbb7hp1x8hawf7c8ls-feh-3.5 racket7.8 out /gnu/store/wqc6rmp2r5gg1n2kcbwj76q1p12vgpc6-racket-7.8 git 2.28.0 send-email /gnu/store/g5x559qk5yxs19jcxqplqv8b9y32vak2-git-2.28.0-send-email git 2.28.0 out /gnu/store/j66k3x1wz0bc6nh09dwa6i4jwahqcabi-git-2.28.0 gx-vbass-preamp-lv2 0-2.eb999b0ca out /gnu/store/q0lni1iq5y7gcskpk82s46cjivn59638-gx-vbass-preamp-lv2-0-2.eb999b0ca gx-slow-gear-lv2 0-3.5d37e775b out /gnu/store/n3cwvcq68gf5asgz8w1cgcyd83qrhh80-gx-slow-gear-lv2-0-3.5d37e775b gx-saturator-lv2 0-3.605330f43 out /gnu/store/y68ak2kyx0hmwhz5fx6zghfmc84fkv4v-gx-saturator-lv2-0-3.605330f43 calf 0.90.3 out /gnu/store/i12q83f8hw7n6bv12l6lf7yh0y2gafhh-calf-0.90.3 azr3 1.2.3 out /gnu/store/kgrpar087hp2hcw1nna3nk7d7k0alxim-azr3-1.2.3 ams-lv2 1.2.2 out /gnu/store/jwf4kxicihn5gqv41b1a5jgg0dv93zpi-ams-lv2-1.2.2 patchage 1.0.2 out /gnu/store/w59x440ic38fncpjhf7yp2wdm3ska2bn-patchage-1.0.2 clementine1.3.1-2.4619a4c out /gnu/store/5392fysgmmi2jmn98maz9ihzn9ahzhw9-clementine-1.3.1-2.4619a4c qemu 5.1.0 out /gnu/store/qzi36f60d2zlrdj9mg6b5y4i00w1fzfq-qemu-5.1.0 gnumeric 1.12.48 out /gnu/store/gdym1gd0n7rgnhhgsgywpysqlxnc5jrf-gnumeric-1.12.48 hexchat 2.14.3 out /gnu/store/3yzwy038n7bsfw0q9siyjf7pgbffpscr-hexchat-2.14.3 synfigstudio 1.2.2 out /gnu/store/a0bxfgqwmwbag908ik9imrf27cxfvg83-synfigstudio-1.2.2 scribus 1.5.5 out /gnu/store/klp1m1ikrhd5wxlgzay7vrmbn9ahx31z-scribus-1.5.5 gimp-resynthesizer2.0.3 out /gnu/store/w0qmw7ii4wq6cs4v0ndph2mymcq9dykf-gimp-resynthesizer-2.0.3 gimp 2.10.20 out /gnu/store/m397hvwhsd0l6v5d0vqxxkm4iyp0p9w3-gimp-2.10.20 geeqie1.5 out /gnu/store/5asp2shhi0bp2kjqcw5sglzc2lk8am70-geeqie-1.5 emacs 27.1out /gnu/store/zcrrjwkzzlx96szsxmacflrl3bybm413-emacs-27.1 ingen 0.0.0-2.cc4a4db33 out /gnu/store/d0q4kyamc35ascy2mchklvwrmy4fjf1r-ingen-0.0.0-2.cc4a4db33 ardour5.12out /gnu/store/n5hi71v13mzfp040506w8hkmwcy95jw8-ardour-5.12 inkscape 1.0.1 out /gnu/store/y3ns23d74c3spx2fydyf1bz8jz3ph6vk-inkscape-1.0.1 sane-backends 1.0.31 out /gnu/store/pp2ygbgd3fj7gyi6ivdcfr3940njnq84-sane-backends-1.0.31 gmic 2.9.2 out /gnu/store/svgb7xlszmslkvc9p4m2w0javkp1xfc5-gmic-2.9.2 curl 7.69.1 out /gnu/store/lhrkldcma0gzddvyjrnni7cn4c7gf9h5-curl-7.71.0 node 10.22.0 out /gnu/store/sharpb6l9lk48m0sfmpc9fa7cs2nascy-node-10.22.0 graphicsmagick1.3.35 out /gnu/store/n1vaps7ivclj24q4mn3prjxjmi6s2qpd-graphicsmagick-1.3.35 emacs-adoc-mode 0.6.6 out /gnu/store/z1sjgrwlqnmk85ka7s23s694j468la80-emacs-adoc-mode-0.6.6 wmctrl1.07out /gnu/store/011adrqz27gj2yf8l5gnaswg4fwp0d2m-wmctrl-1.07 ``` -- Thorsten Wilms
guix pull fails because substitution fails
kscape (dependencies or package changed) substitute: following redirection to `https://ci.guix.gnu.org/nix-cache-info'... substitute: Backtrace: substitute:3 (apply-smob/1 #) substitute: In ice-9/boot-9.scm: substitute: 705:2 2 (call-with-prompt _ _ #) substitute: In ice-9/eval.scm: substitute: 619:8 1 (_ #(#(#))) substitute: In guix/ui.scm: substitute: 1579:12 0 (run-guix-command _ . _) substitute: substitute: guix/ui.scm:1579:12: In procedure run-guix-command: substitute: In procedure put-string: Wrong type argument in position 1 (expecting open output port): # guix package: error: substituter `substitute' died unexpectedly ´´´ What can I do? -- Thorsten Wilms
Re: Inkscape 1.0 segfault when trying to bring up file chooser
On Sun, 14 Jun 2020 23:28:49 -0400 Maxim Cournoyer wrote: > The problem should be fixed with commit 1afa2c5ca0. > Thank you for the report! Confirmed. Thank you for fixing this so quickly! -- Thorsten Wilms
Inkscape 1.0 segfault when trying to bring up file chooser
Hi! Guix last updated yesterday, on top of Ubuntu. Triggering ‘Save as’ in Inkscape leads to: ``` (org.inkscape.Inkscape:5125): GLib-GIO-ERROR **: 11:56:37.434: Settings schema 'org.gtk.Settings.FileChooser' does not contain a key named 'show-type-column' Trace/breakpoint trap (core dumped) ``` I assume this started happening with the update to Inkscape 1.0; in either case the issue is only a few days old. Various search hits point to /usr/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml ``` ~: echo $XDG_DATA_DIRS /home/thorwil/.guix-profile/share:/home/thorwil/.guix-profile/share:/usr/share/unity:/usr/local/share/:/usr/share/ ``` If I set XDG_DATA_DIRS to "", inkscape won’t even start. If I set it to just /home/thorwil/.guix-profile/share, it starts and crashes on Save_As, same as now. All store items for org.gtk.Settings.FileChooser.gschema.xml do have a : ``` /gnu/store: find -name "*FileChooser.gschema*" | \ xargs grep show-type-column ./vgg2r0yzwwbhyxvd8lj2kwyw9779pjfk-gtk+-3.24.14/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml: ./zflpysfv6b5x9hvccds0m38x3bmzzdb3-gtk+-3.24.14/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml: ./mvdb71lvrqgzx6b3kd3fnqpnak8394hm-gtk+-3.24.14/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml: ./q3crl46igvsb10if6z7ffn165pkr74s1-gtk+-3.24.14/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml: ./xhdrc9viz956hj2a3gjlbi0gfvfbnwjd-gtk+-3.24.14/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml: ./mqjdi2b0jf4jwj9g5lbn2wdip4dnqgdh-gtk+-3.24.14/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml: ``` Checking the links below .guix-profile, I note there is no org.gtk.Settings.FileChooser.gschema.xml, but there is gschemas.compiled: ``` ~/.guix-profile/share: ls -l glib-2.0/schemas/total 20 lrwxrwxrwx 2 root root 91 Jan 1 1970 gschema.dtd -> /gnu/store/5v9bxzzxbp68c5g6vvvlaq1ddq39bkrf-glib-schemas/share/glib-2.0/schemas/gschema.dtd lrwxrwxrwx 2 root root 97 Jan 1 1970 gschemas.compiled -> /gnu/store/5v9bxzzxbp68c5g6vvvlaq1ddq39bkrf-glib-schemas/share/glib-2.0/schemas/gschemas.compiled lrwxrwxrwx 2 root root 118 Jan 1 1970 org.gnome.gnumeric.dialogs.gschema.xml -> /gnu/store/5v9bxzzxbp68c5g6vvvlaq1ddq39bkrf-glib-schemas/share/glib-2.0/schemas/org.gnome.gnumeric.dialogs.gschema.xml lrwxrwxrwx 2 root root 110 Jan 1 1970 org.gnome.gnumeric.gschema.xml -> /gnu/store/5v9bxzzxbp68c5g6vvvlaq1ddq39bkrf-glib-schemas/share/glib-2.0/schemas/org.gnome.gnumeric.gschema.xml lrwxrwxrwx 2 root root 117 Jan 1 1970 org.gnome.gnumeric.plugin.gschema.xml -> /gnu/store/5v9bxzzxbp68c5g6vvvlaq1ddq39bkrf-glib-schemas/share/glib-2.0/schemas/org.gnome.gnumeric.plugin.gschema.xml ``` There are a bunch of string visible in the binary file gschemas.compiled, ‘show-type-column’ or similar does not apear. Is the issue perhaps that gschemas.compiled would have had to be rebuilt, but wasn’t? I considered trying to symlink an org.gnome.gnumeric.gschema.xml, but I don’t see how to figure out which of the 5 store items it should be. -- Thorsten Wilms
Re: Root guix dereferencing
On 19/11/2018 16.06, Clément Lassieur wrote: If you check ~root/.config/guix/current/bin/guix, you'll see that it's updated when you run 'guix pull' as root. If you want that guix to be used for your 'root' user, you just need to make sure ~root/.config/guix/current/bin/ is first in root's $PATH. I could bet last time I checked, there was not "current", only "latest", below ~root/.config/guix, but indeed, there's a recently changed ~root/.config/guix/current/bin/guix. If you are using Ubuntu, you don't need to use that command though, but you need your systemd's guix-daemon to point to a recent guix. It could be either the one updated by root's 'guix pull', or the one updated by your current user's 'guix pull'. I chose the latter because I want to run 'guix pull' only once. You mean edit /etc/systemd/guix-daemin.service and change "/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon"? If so, to what, as there's no guix-daemon in /var/guix/profiles/per-user/root/guix-profile/bin/. Is the whole reason to have /usr/local/bin/guix to make guix available for root without modifying root's PATH? Things are a bit clearer now, thanks, Clément. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Root guix dereferencing
On 19/11/2018 15.07, Clément Lassieur wrote: It doesn't need to contain 'sudo' and 'root', because 'root' is just a user, so everything works the same way. $: which guix /home/thorwil/.config/guix/current/bin/guix $: sudo which guix /usr/local/bin/guix $ sudo -E which guix /usr/local/bin/guix $: sudo -i root@charly:~# which guix /root/.guix-profile/bin/guix I wouldn't describe that as working the same way, especially since only the symlinks for the plain user are being updated. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Root guix dereferencing
Hi! It took me embarrassingly long to understand that I have been updating guix for the root profile numerous times without `sudo guix ...` ever pointing to the latest version. This is on Ubuntu 18.04, so there's not a full root account. The state of things, bash output reduced to the relevant parts: ~: sudo ls -l /root/.guix-profile /root/.guix-profile -> /var/guix/profiles/per-user/root/guix-profile ~: ls -l /var/guix/profiles/per-user/root/guix-profile /var/guix/profiles/per-user/root/guix-profile -> guix-profile-3-link ~: ls -l /var/guix/profiles/per-user/root/guix-profile-3-link /var/guix/profiles/per-user/root/guix-profile-3-link -> /gnu/store/9gnbk30krxri2rnslpy9pjqrn0dgpzz9-profile ~: stat /gnu/store/9gnbk30krxri2rnslpy9pjqrn0dgpzz9-profile Change: 2018-09-13 19:23:18.128577196 +0200 2018-09-13 seems to be the date of installation. The last `sudo guix pull` happened yesterday. ~: sudo which guix /usr/local/bin/guix ~: ls -l /usr/local/bin/guix /usr/local/bin/guix -> /var/guix/profiles/per-user/root/guix-profile/bin/guix ~: ls -l /var/guix/profiles/per-user/root/guix-profile/bin/guix /var/guix/profiles/per-user/root/guix-profile/bin/guix -> /gnu/store/xdgjm8slg17gvwqnask6y4fzz7shkf1p-guix-0.15.0-2.8bbb79c/bin/guix ~: stat /gnu/store/xdgjm8slg17gvwqnask6y4fzz7shkf1p-guix-0.15.0-2.8bbb79c/bin/guix Change: 2018-09-13 19:23:15.888610656 +0200 ~: sudo env | grep GUIX ~: sudo env | grep PATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin Puzzling to me: things are quite different after `sudo -i`: root@charly:~# which guix /root/.guix-profile/bin/guix root@charly:~# ls -l /root/.guix-profile/bin/guix /gnu/store/xdgjm8slg17gvwqnask6y4fzz7shkf1p-guix-0.15.0-2.8bbb79c/bin/guix root@charly:~# stat /gnu/store/xdgjm8slg17gvwqnask6y4fzz7shkf1p-guix-0.15.0-2.8bbb79c/bin/guix Change: 2018-09-13 19:23:15.888610656 +0200 root@charly:~# env|grep GUIX GUIX_LOCPATH=/root/.guix-profile/lib/locale root@charly:~# env|grep PATH GUIX_LOCPATH=/root/.guix-profile/lib/locale PATH=/root/.guix-profile/bin:/root/.guix-profile/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin How may I fix my installation? -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: guix pull fails while Migrating profile generations
On 09/11/2018 17.37, Ludovic Courtès wrote: Could you try this: rm ~/.config/guix/current ln -s /var/guix/profiles/per-user/thorwil/current-guix \ ~/.config/guix/current I did that 2 or 3 `guix pull` ago and the error didn't appear again since. and then: guix pull -l 1w ? Generation 1Nov 07 2018 21:45:53 guix b31e156 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: b31e1561611ebe4916890183b24e6e13cb83bf59 Generation 2Nov 07 2018 22:09:09 guix ea68b3f repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: ea68b3f6527cf4a02c554cf3f6f446e30f4940f6 2 packages upgraded: mash@2.1, minced@0.3.2 Generation 3Nov 08 2018 11:03:36 guix 8fa9ace repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: 8fa9ace1d6022ff2dca4618d1c7b22dc4be28b86 2 new packages: python-pyelftools, spread-sheet-widget 12 packages upgraded: java-ngs@2.9.3, ncbi-vdb@2.9.3, ngs-sdk@2.9.3, preseq@2.0.3, pspp@1.2.0, python-ilinkedlist@0.3.1, raxml@8.2.12, ritornello@2.0.1, seqtk@1.3, sra-tools@2.9.3, tadbit@0.2.0, vsearch@2.9.1 Generation 4Nov 09 2018 18:40:29(current) guix 06bc7b8 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: 06bc7b82f7c6cb623911867f55b58b3316d3ddfc 14 new packages: emacs-clang-format, emacs-gtk-look, fstrcmp, r-aggregation, r-arm, r-destiny, r-feature, r-h5, r-ks, r-misc3d, r-multicool, r-rgl, r-savr, xmlrpc-c 7 packages upgraded: crossguid@0.0-2.fef89a4, guile-newt@0-1.4eaa3cf84, kodi@18.0b5, r-minimal@3.5.1, r@3.5.1, rmath-standalone@3.5.1, wxmaxima@18.10.1 -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: guix pull fails while Migrating profile generations
On 07/11/2018 16.04, Thorsten Wilms wrote: Since guix is working again, it seems this was about the change from export PATH="/home/thorwil/.guix-profile/bin:/home/thorwil/.guix-profile/sbin${PATH:+:}$PATH" to export PATH="/home/thorwil/.config/guix/current/bin${PATH:+:}$PATH" Wrong once more. One reboot later, it happens again: ~: guix pull (...) Migrating profile generations to '/var/guix/profiles/per-user/thorwil'... guix pull: error: symlink: File exists: "/var/guix/profiles/per-user/thorwil/current-guix-3-link" So I haven't got the slightest clue what got it back to working the last time. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: guix pull fails while Migrating profile generations
On 06/11/2018 20.33, Thorsten Wilms wrote: A few `guix pull` and `sudo guix pull` later: --- ~: guix pull Migrating profile generations to '/var/guix/profiles/per-user/thorwil'... guix pull: error: symlink: File exists: "/var/guix/profiles/per-user/thorwil/current-guix" --- Since guix is working again, it seems this was about the change from export PATH="/home/thorwil/.guix-profile/bin:/home/thorwil/.guix-profile/sbin${PATH:+:}$PATH" to export PATH="/home/thorwil/.config/guix/current/bin${PATH:+:}$PATH" I edited .profile, but didn't consider to bring that change to the current terminal. Sorry about the noise. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: guix pull fails while Migrating profile generations
Hi! On Ubuntu, starting from "guix pull: error: symlink: File exists: ..." I manually removed/changed/created symlinks and had guix working again. A few `guix pull` and `sudo guix pull` later: --- ~: guix pull guile: warning: failed to install locale hint: Consider installing the `glibc-utf8-locales' or `glibc-locales' package and defining `GUIX_LOCPATH', along these lines: guix package -i glibc-utf8-locales export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale" See the "Application Setup" section in the manual, for more info. Migrating profile generations to '/var/guix/profiles/per-user/thorwil'... guix pull: error: symlink: File exists: "/var/guix/profiles/per-user/thorwil/current-guix" --- (glibc-utf8-locales is installed and GUIX_LOCPATH=/home/thorwil/.guix-profile/lib/locale is set, but that's another topic) Now: --- ~: readlink ~/.config/guix/current current-1-link --- current-1-link doesn't exist! I'm breathing manually now. I would appreciate an overview of what is supposed to sit where and where it is supposed to point to. I may have gotten something wrong ... but then again, guix working and failing again shortly after isn't exactly the outcome I'd expect in that case. Sidenote: I wanted to try pulling as root and then choosing the same commit as user, as recently suggested: --- ~: sudo guix describe (...) guix: describe: command not found --- Plain `guix describe` did work, until this linking business went wrong again. --- ~: sudo guix --version => 0.15.0-2.8bbb79c --- -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Package Install Question for New User
On 05/11/2018 17.33, Brian Woodcox wrote: I then trying to install a package from the terminal. How about icecat. So I issue the command to install that. All of a sudden the system is downloading and compiling a pile of packages that were already installed as root. There is a single system-wide store for derivations at /gnu/store. The derivations are installed packages plus dependencies and removed packages that haven't been garbage-collected, yet. If a package is already in the store, installing it for a specific user should only require symlinks to be added, as far as I understand. Unless a dependency is missing. For example, I have "gimp" in my profile, pointing to an item in the store: --- ~: which gimp /home/thorwil/.guix-profile/bin/gimp ~: ls -l /home/thorwil/.guix-profile/bin/gimp lrwxrwxrwx 2 root root 64 Jan 1 1970 /home/thorwil/.guix-profile/bin/gimp -> /gnu/store/wzp4ci2myckcg9qjqgm84rzv23snyz4d-gimp-2.10.6/bin/gimp --- Thus it seems you misinterpreted some output (or there is a bug). The results of guix working through the entire dependency chain for build, installation and runtime of a package can be rather surprising. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Guixsd 0.15.0 Installation Fail
On 30/10/2018 19.27, Anthony Eslick wrote: When I run "guix system init /mnt/etc/config.scm /mnt" I get a message that infinitely scrolls across the screen substitute: guix substitute: warning: while fetching 'https://mirror.hydra.gnu.org/nix-cache-info': 504 ("Gateway Time-out") substitute: guix substitute: warning: ignoring substitute server at '"https://mirror.hydra.gnu.org;' Hi! Assembled from several posts: hydra.gnu.org is currently down and mirror.hydra.gnu.org is just proxying it. See https://lists.gnu.org/archive/html/guix-devel/2018-10/msg00434.html Substitute-Server-Authorization: As described at https://www.gnu.org/software/guix/manual/en/guix.html#Substitute-Server-Authorization After `guix archive --authorize < berlin.guixsd.org.pub` you may run commands with: `--substitute-urls="https://berlin.guixsd.org` You may want to add this setting globally and permanently, so you don't have to specify it every time you run guix. You can do this by passing the option to the guix daemon - when using GuixSD, modify guix-service in your system configuration, by specifying the substitute-urls in the configuration. (see guix-configuration in https://www.gnu.org/software/guix/manual/en/html_node/Base-Services.html ) Not applicable in your case: - when using guix on another distribution with systemd, you can modify the the ExecStart line in /etc/systemd/system/guix-daemon.service as follows: ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild "--substitute-urls=https://mirror.hydra.gnu.org https://berlin.guixsd.org;; -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: hydra.gnu.org off-line for maintenance
On 26/10/2018 11.28, Thomas Danckaert wrote: Also, you may want to add this setting globally and permanently, so you don't have to specify it every time you run guix. You can do this by passing the option to the guix daemon - when using guix on another distribution with systemd, you can modify the the ExecStart line in /etc/systemd/system/guix-daemon.service as follows: ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild "--substitute-urls=https://mirror.hydra.gnu.org https://berlin.guixsd.org; Shouldn't that be: --- ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild --substitute-urls="https://mirror.hydra.gnu.org https://hydra.gnu.org https://berlin.guixsd.org; --- ? By the way: when revisiting this issue, I found the manual a bit confusing. You'll find all the information you need when you read the entire section on substitutes from front to back, but when you just try to find specific information using the headlines, it's a bit confusing. For example, to learn about --substitute-urls and the daemon settings for other substitute servers, you'll need to read "Official Substitute Server", which you might not do when looking to add another server. The subtitle for "Substitute Server Authorization" says "How to enable or disable substitutes", but doesn't give all the information you need to enable another substitute server. If people here agree, I'd be happy to send a documentation patch. For whatever it may be worth, when I first read about https://berlin.guixsd.org, I wondered if it could/should be used additionally, looked at the documentation, found it confusing and then forgot about the issue. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Trying to package GIMP Resynthesizer
On 20.09.2018 22:14, Thorsten Wilms wrote: --- Calling error for procedure 'gimp-procedural-db-proc-info': Procedure 'plug-in-resynthesizer' not found --- Traceback (most recent call last): File "/gnu/store/2l3zsn1fliq5yw6g2wqpivqwkv602c10-gimp-2.10.6/lib/gimp/2.0/python/gimpfu.py", line 740, in response dialog.res = run_script(params) File "/gnu/store/2l3zsn1fliq5yw6g2wqpivqwkv602c10-gimp-2.10.6/lib/gimp/2.0/python/gimpfu.py", line 361, in run_script return apply(function, params) File "/home/thorwil/.guix-profile/lib/gimp/2.0/plug-ins/plugin-heal-selection.py", line 148, in heal_selection pdb.plug_in_resynthesizer(timg, tdrawable, 0,0, useBorder, work_drawable.ID, -1, -1, 0.0, 0.117, 16, 500) error: procedure not found --- I somehow managed to end up with parts in ~/.guix-profile/lib/gimp/2.0/plug-ins and the rest in ~/.guix-profile/lib/gimp/2.0/plug-ins/plug-ins After removing, collecting garbage and installing again with "/plug-ins" removed from the string manipulation, things work as they should. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Trying to package GIMP Resynthesizer
On 20.09.2018 15:43, Thorsten Wilms wrote: Still have to actually run it! ;) ... so in GIMP's Edit > Preferences > Folders > Plug-ins, I added: "/home/thorwil/.guix-profile/lib/gimp/2.0/plug-ins/" and restarted GIMP. Then I tried to use Filters > Enhance > Heal Selection and got: --- Calling error for procedure 'gimp-procedural-db-proc-info': Procedure 'plug-in-resynthesizer' not found --- Traceback (most recent call last): File "/gnu/store/2l3zsn1fliq5yw6g2wqpivqwkv602c10-gimp-2.10.6/lib/gimp/2.0/python/gimpfu.py", line 740, in response dialog.res = run_script(params) File "/gnu/store/2l3zsn1fliq5yw6g2wqpivqwkv602c10-gimp-2.10.6/lib/gimp/2.0/python/gimpfu.py", line 361, in run_script return apply(function, params) File "/home/thorwil/.guix-profile/lib/gimp/2.0/plug-ins/plugin-heal-selection.py", line 148, in heal_selection pdb.plug_in_resynthesizer(timg, tdrawable, 0,0, useBorder, work_drawable.ID, -1, -1, 0.0, 0.117, 16, 500) error: procedure not found --- Any ideas? -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Trying to package GIMP Resynthesizer
Case solved! On 20.09.2018 13:11, Ludovic Courtès wrote: Next, in phase install: --- make[3]: Entering directory '/tmp/guix-build-gimp-resynthesizer-2.0.3.drv-0/resynthesizer-2.0.3/src/resynthesizer' /gnu/store/63gkgnixg6xj3m9cgl25ib2zxl51ngw0-coreutils-8.29/bin/mkdir -p '/gnu/store/kc1s39xl3wzkb5cfsavvbrgri4751zmk-gimp-2.10.6/lib/gimp/2.0/plug-ins' /gnu/store/63gkgnixg6xj3m9cgl25ib2zxl51ngw0-coreutils-8.29/bin/install -c resynthesizer '/gnu/store/kc1s39xl3wzkb5cfsavvbrgri4751zmk-gimp-2.10.6/lib/gimp/2.0/plug-ins' /gnu/store/63gkgnixg6xj3m9cgl25ib2zxl51ngw0-coreutils-8.29/bin/install: cannot create regular file '/gnu/store/kc1s39xl3wzkb5cfsavvbrgri4751zmk-gimp-2.10.6/lib/gimp/2.0/plug-ins/resynthesizer': Permission denied “make install” is trying to install the plugin under GIMP’s prefix, which is read-only. The solution is to adjust the gimp-resynthesizer makefile variables so that the plugin gets installed to $(libdir)/gimp/2.0/plug-ins—i.e., under/gnu/store/…-gimp-resnythesizer-2.0.3/lib. I figured that's what is being done for gimp-fourier, but the Makefile situation here is different and I had trouble finding out that there are 2 Makefiles that need to be patched! This here builds: --- (define-module (gimp-resynthesizer) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages gtk) #:use-module (gnu packages pkg-config) #:use-module (gnu packages autotools) #:use-module (gnu packages glib) #:use-module (gnu packages gimp) ) ;; GIMP does not respect any plugin search path environment variable, so after ;; installation users have to edit their GIMP settings to include ;; “$GUIX_PROFILE/lib/gimp/2.0/plug-ins” in ;; “Edit->Preferences->Folders->Plug Ins”. (define-public gimp-resynthesizer (package (name "gimp-resynthesizer") (version "2.0.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/bootchk/resynthesizer/archive/v; version ".tar.gz")) (sha256 (base32 "0l3404w6rqny7h3djskxf149gzx6x4qhndgbh3403c9lbh4pi1kr" (build-system gnu-build-system) (arguments `(;; Turn off tests to avoid: ;; make[1]: *** No rule to make target '../src/resynth-gui.c', needed by 'resynthesizer.pot'. Stop. #:tests? #f #:phases (modify-phases %standard-phases (add-after 'unpack 'set-env (lambda _ (setenv "CONFIG_SHELL" (which "sh")) #t)) (add-after 'configure 'set-prefix ;; Attempt to install to GIMP's plugin directory will fail. ;; Use own store address. (lambda* (#:key outputs #:allow-other-keys) (let ((target (string-append (assoc-ref outputs "out") "/lib/gimp/" (car (string-split ,(package-version gimp) #\.)) ".0/plug-ins"))) (substitute* (list "src/resynthesizer/Makefile" "src/resynthesizer-gui/Makefile") (("GIMP_LIBDIR = .*") (string-append "GIMP_LIBDIR = " target "\n"))) (mkdir-p target)) #t)) ))) (native-inputs `(("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("glib" ,glib "bin") ; glib-gettextize ("intltool" ,intltool) ("pkg-config" ,pkg-config))) (inputs `(("gimp" ,gimp) ("gdk-pixbuf" ,gdk-pixbuf) ; needed by gimp-2.0.pc ("cairo" ,cairo) ("gegl" ,gegl) ("gtk+" ,gtk+-2) ; needed by gimpui-2.0.pc ("glib" ,glib))) (home-page "https://github.com/bootchk/resynthesizer;) (synopsis "GIMP plugins for texture synthesis") (description "Resynthesizer plugins for GIMP. Encompasses tools for healing selections (content aware fill), enlarging the canvas and healing the border, increasing the resolution while adding detail and transfering the style of an image.") (license license:gpl3+))) --- Still have to actually run it! ;) -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Trying to package GIMP Resynthesizer
On 20.09.2018 04:55, Maxim Cournoyer wrote: ./configure: line 9047: /bin/sh: No such file or directory I've had this before, and the way I could work around it was by setting the SHELL environment variable. Grep for 'setenv "SHELL"' in the package sources and I'm sure you'll find instances of that. Great suggestion, thanks! `guix/gnu/packages: grep -B 10 -A 5 'setenv "SHELL' *` made for a nice list of examples. This addition makes configure pass: --- (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'set-env (lambda _ (setenv "CONFIG_SHELL" (which "sh")) #t) --- Then, in phase check: --- make[1]: Entering directory '/tmp/guix-build-gimp-resynthesizer-2.0.3.drv-0/resynthesizer-2.0.3/po' make[1]: *** No rule to make target '../src/resynth-gui.c', needed by 'resynthesizer.pot'. Stop. make[1]: Leaving directory '/tmp/guix-build-gimp-resynthesizer-2.0.3.drv-0/resynthesizer-2.0.3/po' make: *** [Makefile:403: check-recursive] Error 1 --- I found no trace of this being a known issue, or a solution by grep-ing sources for .pot, so I just added `#:tests? #f` to arguments. Next, in phase install: --- make[3]: Entering directory '/tmp/guix-build-gimp-resynthesizer-2.0.3.drv-0/resynthesizer-2.0.3/src/resynthesizer' /gnu/store/63gkgnixg6xj3m9cgl25ib2zxl51ngw0-coreutils-8.29/bin/mkdir -p '/gnu/store/kc1s39xl3wzkb5cfsavvbrgri4751zmk-gimp-2.10.6/lib/gimp/2.0/plug-ins' /gnu/store/63gkgnixg6xj3m9cgl25ib2zxl51ngw0-coreutils-8.29/bin/install -c resynthesizer '/gnu/store/kc1s39xl3wzkb5cfsavvbrgri4751zmk-gimp-2.10.6/lib/gimp/2.0/plug-ins' /gnu/store/63gkgnixg6xj3m9cgl25ib2zxl51ngw0-coreutils-8.29/bin/install: cannot create regular file '/gnu/store/kc1s39xl3wzkb5cfsavvbrgri4751zmk-gimp-2.10.6/lib/gimp/2.0/plug-ins/resynthesizer': Permission denied --- -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Trying to package GIMP Resynthesizer
MP plug-in to edit image in fourier space") (description "This package provides a simple plug-in to apply the fourier transform on an image, allowing you to work with the transformed image inside GIMP. You can draw or apply filters in fourier space and get the modified image with an inverse fourier transform.") (license license:gpl3+))) --- I suspect I will need the (add-after 'unpack 'set-prefix ...) form, too, but ... one step at a time and no cargo-culting :) I've been told the patch-shebang phase should take care of references to /bin/sh, but didn't see that phase marked like the others (set-SOURCE-DATE-EPOCH, set-paths, install-locale, unpack, bootstrap). It does appear, though: patch-shebang: configure: changing `/bin/sh' to `/gnu/store/rbrandv7anzjxqkr40d7fkanzssslk4b-bash-minimal-4.4.19/bin/sh' Looking for the line where the error happens: --- /tmp/guix-build-gimp-resynthesizer-2.0.3.drv-0/resynthesizer-2.0.3: sed -n -e 9047p configure $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false --- configure includes these lines: --- SHELL=${CONFIG_SHELL-/bin/sh} SHELL = /bin/sh SHELL=\${CONFIG_SHELL-$SHELL} --- Is that already the problem and needs to be patched? I tried --- (arguments `(#:phases (modify-phases %standard-phases (add-after 'patch-shebang 'fix-sub-shells (lambda _ (substitute* "configure" (("/bin/sh") (which "sh"))); #t) --- but that doesn't do ... anything, apparently. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Can't configure guix, no guile-sqlite3
On 19.08.2018 23:31, Maxim Cournoyer wrote: Based on the above discussion, it seems this shouldn't be required if you are using a very recent Guix, but I too struggled on this error at some point and the (not-so-pretty) workaround was to issue a 'guix package -i guile-sqlite3'. I mean to recall that was one of the first things I tried. Anyway, once more with double `guix pull`, clean/latest git tree. Before and after `guix package -i guile-sqlite3`, I still get: --- configure: error: Package requirements (sqlite3 >= 3.6.19) were not met: No package 'sqlite3' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables SQLITE3_CFLAGS and SQLITE3_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.nfigure: error: Package requirements (sqlite3 >= 3.6.19) were not met: --- Still, thanks for the suggestion. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Can't configure guix, no guile-sqlite3
On 02.08.2018 14:18, Ricardo Wurmus wrote: Which “guix” are you using? “guix pull” installs “guix” in ~/.config/guix/current/bin. Make sure that the “guix” in “guix environment guix” is taken from there. Tripple checked. I'm fully expecting some silly mistake, but well, I can't find it. Before or after `guix environment guix`, the guix on the path is /home/thorwil/.config/guix/current/bin/guix which points to /gnu/store/aldvc43h0gyqmpl08yzpfgmcz77539sk-guix-command which has been changed today: ~: guix environment guix ~: which guix /home/thorwil/.config/guix/current/bin/guix ~: ls -l /home/thorwil/.config/guix/current/bin/guix lrwxrwxrwx 2 root root 56 Jan 1 1970 /home/thorwil/.config/guix/current/bin/guix -> /gnu/store/aldvc43h0gyqmpl08yzpfgmcz77539sk-guix-command ~: stat /gnu/store/aldvc43h0gyqmpl08yzpfgmcz77539sk-guix-command ... Change: 2018-08-02 12:05:49.134396623 +0200 What puzzles me is that there are 4 additional *-guix-command in the store, all changed at 2018-07-23. Even after ~: guix package --delete-generations ~: guix gc --collect-garbage -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Can't configure guix, no guile-sqlite3
On 02.08.2018 09:12, Chris Marusich wrote: configure: error: Package requirements (sqlite3 >= 3.6.19) were not met: No package 'sqlite3' found --- It sounds like you're saying this error occurs when you've run "guix environment guix", and then you run "./configure --localstatedir=/var". Is that right? Yes. * Run "guix pull" at least twice - without using ./pre-inst-env. Done. * Start from a clean slate. make distclean git clean -dfx git reset --hard * Make sure you're using a recent Guix: git pull Done * Now try to build again: ./bootstrap ./configure --localstatedir=/var For the sake of completeness, without `guix environment guix`, this happens: configure.ac:89: error: possibly undefined macro: GUILE_MODULE_AVAILABLE With `guix environment guix` it's again: --- checking for sqlite3 >= 3.6.19... no configure: error: Package requirements (sqlite3 >= 3.6.19) were not met: No package 'sqlite3' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables SQLITE3_CFLAGS and SQLITE3_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. --- FWIW, you might also consider trying to develop your packages by putting the package definitions on your own GUIX_PACKAGE_PATH (see "Package Modules" in the manual), rather than using ./pre-inst-env. GUIX_PACKAGE_PATH is the recommended way for adding custom packages, while ./pre-inst-env is technically an unsupported hack that is primarily useful for developing Guix itself. I have to wonder about "unsupported hack". If it is one, then https://www.gnu.org/software/guix/manual/en/html_node/Packaging-Guidelines.html#Packaging-Guidelines needs to be altered. In this case (a rather obscure Emacs package), it would make sense to use GUIX_PACKAGE_PATH and perhaps not even bother sending a patch. However, for any chance of later, more involved and worthwhile contributions, I figured I should get the process down as described. Especially since even my limited experience tells me any deviation between a test run and later use introduces a risk of some silly mistake to slip in. Been there before, but checking again: Within or outside of `guix environment guix`, same result: which guix => /home/thorwil/.config/guix/current/bin/guix ls -l /home/thorwil/.config/guix/current/bin/guix => lrwxrwxrwx 2 root root 56 Jan 1 1970 /home/thorwil/.config/guix/current/bin/guix -> /gnu/store/aldvc43h0gyqmpl08yzpfgmcz77539sk-guix-command stat /gnu/store/aldvc43h0gyqmpl08yzpfgmcz77539sk-guix-command => Change: 2018-08-02 12:05:49.134396623 +0200 Still, thanks for your detailed email, Chris! -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Can't configure guix, no guile-sqlite3
On 17.06.2018 22:24, Thorsten Wilms wrote: git clone https://git.savannah.gnu.org/git/guix.git cd guix *add package definition, commit right here, or maybe later* guix environment guix ./bootstrap ./configure --localstatedir=/var ./pre-inst-env guix package -i *new-package* configure fails with: checking whether Guile-Sqlite3 is available and recent enough... no Since there was no solution, I completely removed guix (in particlar, rm'ed the store and stuff below /var) and started again with the 0.15.0 binary tarball. On trying to bring everything in my manifest back, I got: --- guix package: error: build failed: some substitutes for the outputs of derivation `/gnu/store/wzb55yvxjyymzivya50nkjcyxnmysm3r-nss-certs-3.38.drv' failed (usually happens due to networking issues); try `--fallback' to build derivation from source --- OK, that happened last time, too, same solution: guix package --fallback -i nss-certs. Back to main concern: configure now (after several guix pull) fails with: --- configure: error: Package requirements (sqlite3 >= 3.6.19) were not met: No package 'sqlite3' found --- -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Can't configure guix, no guile-sqlite3
On 18.06.2018 21:58, Ludovic Courtès wrote: Add this commit, the ‘guix’ package definitely has ‘guile-sqlite3’ as an input. Could you run ‘guix edit guix’ to double-check? "guile-sqlite3" appears twice within (define-public guix), inside (add-after 'install 'wrap-program ...) and also (propagated-inputs `(("gnutls" ,gnutls) ("guile-json" ,guile-json) ("guile-sqlite3" ,guile-sqlite3) ("guile-ssh" ,guile-ssh) ("guile-git" ,guile-git))) ./configure does find guile, (gnutls), (git) and (json) before it stumbles over guile-sqlite3. Perhaps you need to run “hash guix” (in Bash) or something? ~: hash -r ~: hash hash: hash table empty ~: hash guix ~: hash hitscommand 0/home/thorwil/.config/guix/current/bin/guix The same from the 2nd line within `guix environment guix`. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Can't configure guix, no guile-sqlite3
Hi! I wanted to add a package, test it and send in a patch. The docs are not quite as clear as they should be on the right steps to take, but since helpful and knowledgable people are never far on #guix, it became clear that it should be (I hope): git clone https://git.savannah.gnu.org/git/guix.git cd guix *add package definition, commit right here, or maybe later* guix environment guix ./bootstrap ./configure --localstatedir=/var ./pre-inst-env guix package -i *new-package* configure fails with: checking whether Guile-Sqlite3 is available and recent enough... no It does so even within `guix environment guix --ad-hoc guile-sqlite3` I'm aware of recent discussions regarding `./pre-inst-env guix system`. My understanding is that with a recent version, `guix environment guix` should be sufficient. $: which guix => /home/thorwil/.config/guix/current/bin/guix $: guix pull -l ... Generation 8 Jun 17 2018 20:01:23(current) guix b4eae99 repository URL: https://git.savannah.gnu.org/git/guix.git branch: origin/master commit: b4eae997fe5b928f179c34d281e9f2c3eccd3670 I also did `git pull` today, so both the installed guix and the local tree are current. What am I missing? Any ideas on further diagnosis? -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Custom kernel module woes
On 22.03.2018 18:51, Marius Bakke wrote: Can you post the .config that requires CONFIG_CRYPTO_XTS=y? I attached the result of `make menuconfig` in linux-libre-4.15.12, as that shows the issue and is as neutral as it gets. I remember having to turn on "expert" configuration in order to change some of the default builtins. If this is the case, perhaps we should make it a built-in on GuixSD too. It already has CONFIG_EXPERT=y, as interesting as that might seem as a default. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/ config.bz2 Description: application/bzip
Custom kernel module woes
Hi! My mentionable reasons for a custom kernel are optimizations for audio work (CONFIG_HZ=1000 and "Preemptible Kernel (Low-Latency Desktop)"), the specific CPU and reducing time and energy costs of building by selecting only the necessary drivers. I added the package definition to my system configuration to then have the kernel build and put into place via `guix system reconfigure /ect/config.scm`. This failed several times after building, when guix does what I understand to be an initramfs test run, where it tries to load a bunch of modules. With the help of #guix, I found a list that appears in linux-modules-builder and init-builder: ("ahci" "usb-storage" "uas" "usbhid" "hid-generic" "hid-apple" "dm-crypt" "xts" "serpent_generic" "wp512" "nls_iso8859-1" "pata_acpi" "pata_atiixp" "isci" "virtio_pci" "virtio_balloon" "virtio_blk" "virtio_net" "virtio_console") Aside of the issue of requiring hid-apple on a desktop PC, and lots of crypto where no encrypted partition is in sight, it would be nice if an error could be triggered before the entire kernel and drivers are build. My notes from hunting down these configuration dependencies: ahci dm-crypt, depends on: Multiple device driver support: Device mapper support: Crypt target support Cryptographic API: User-space interface for hash algorithms User-space interface for symmetric key cipher algorithms RIPEMD-160 digest algorithm SHA384 and SHA512 digest algorithms wp512 / Whirlpool digest algorithms LRW support serpent_generic / Serpent cipher algorithm Twofish cipher algorithm Device Drivers: Block Devices: Loopback device support File systems: FUSE (Filesystem in Userspace) support hid-generic hid-apple isci nls_iso8859-1 pata_acpi pata_atiixp uas, CONFIG_USB_UAS in Device Drivers, USB, USB Attached SCSI. usb-storage usbhid virtio_pci virtio_balloon virtio_blk virtio_net virtio_console xts Things were going well until I got to XTS support. With either my custom configuration, or a default one, XTS is stuck on -*-, i.e. mandatory built-in. The after-build phase will fail if there's no xts.ko module! I tried to figure out the dependencies and failed. Finally, I took the guix kernel configuration, replaced the entire segment device-drivers up to file-systems with one from my custom version and did the few other changes. It works! Now if anyone knows or can figure out how *exactly* to turn XTS's -*- into a {M}, that would still be good to know. A script that turns any kernel configuration into a guix-sd-safe one, or changes to make these gymnastics unnecessary would be great! A drawback of a lean and specific kernel is of course that it won't work with drastically changed hardware. A situation once can suddenly be forced into on hardware failure. Kernel variants are tied to system generations, right? What do I have to do if I want a choice between 2 kernels independent of generations? -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: this conf doesnt work. Why ?
On 17.03.2018 21:46, Catonano wrote: the machine boots, but it doesn't start a desktop environment, SLIM doesn't come up If I login as root, startx isn't available What's wrong with this definition ? (use-modules (gnu) (gnu system nss)) (use-modules (gnu packages tryton)) (use-modules (gnu packages databases)) ;(use-modules (gnu packages xorg)) (use-modules (gnu services xorg)) You don't have to repeat the use-modules form, it can be used like this: (use-modules (gnu) (gnu system nss) (gnu packages tryton) (gnu packages databases) (gnu packages xorg)) I'm actually surprised the other way works, but noticed it appears for "Globally-Visible Packages" at: https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html (use-service-modules desktop) (use-package-modules certs gnome) ;(use-service-modules databases) ;(use-service-modules trytond) (define %my-services (modify-services (cons* (gnome-desktop-service) (cons* (service agetty-service-type (agetty-configuration (tty "ttyS0"))) %desktop-services)) (slim-service-type config => (slim-configuration (inherit config) (startx (xorg-start-command #:configuration-file (xorg-configuration-file ;; Setup X to use a swiss german keyboard layout. #:extra-config '("Section \"InputClass\" Identifier \"keyboard-all\" Option \"XkbLayout\" \"ch\" ; <~ replace \"ch\" with \"it\" MatchIsKeyboard \"on\" EndSection" Why do you use one level of indirection for no gain? This can go into services, directly. That modify-services looks very suspicious. Why the nested cons*? modify-services should be fed with one list of services, followed by (type variable => body) clauses, like in: (modify-services %desktop-services (mingetty-service-type config => (mingetty-configuration (inherit config) (motd (plain-file "motd" "Howdy FOSDEM!" (upower-service-type config => (upower-configuration (inherit config) (ignore-lid? #true) (percentage-critical 5. modify-services %desktop-services (udev-service-type config => (udev-configuration (inherit config) (rules (append (udev-configuration-rules config) (list %example-udev-rule)) Aside of that, I wonder if you have to put the xorg server into either global packages, or install it for root. (operating-system (host-name "antelope") (timezone "Europe/Paris") (locale "it_IT.utf8") ;;This is to be able to login into a guest system (kernel-arguments '("console=ttyS0")) ;; Assuming /dev/sdX is the target hard disk, and "my-root" ;; is the label of the target root file system. (bootloader (grub-configuration (target "/dev/sda"))) (file-systems (cons (file-system (device "my-root") (title 'label) (mount-point "/") (type "ext4") ) %base-file-systems)) (users (cons (user-account (name "catonano") (password (crypt " " "ab")) (comment "Alice's brother") (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video")) (home-directory "/home/catonano")) %base-user-accounts)) (crypt " " "ab") looks suspicious to me, but I haven't read up on how it should be used. ;; This is where we specify system-wide packages. (packages (cons* nss-certs ;for HTTPS access gvfs ;for user mounts ;;python-trytond ;;tryton ;;postgresql %base-packages)) ;; Add GNOME and/or Xfce---we can choose at the log-in ;; screen with F1. Use the "desktop" services, which ;; include the X11 log-in service, networking with Wicd, ;; and more. (services %my-services) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss)) -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Wayland setup
On 15.03.2018 02:08, Marius Bakke wrote: This looks like a driver problem. Can you post the output of "dmesg | grep -w 'drm|r600|radeon'" ? I seem to recall that hardware acceleration on radeon/amdgpu requires proprietary microcode, even when using the free driver. Maybe that is related? Right, thank you! comparing `dmesg | grep -w 'drm\|r600\|radeo'` from both systems made this stand out: --- radeon :01:00.0: Direct firmware load for /*(DEBLOBBED)*/ failed with error -2 [drm:rv770_init [radeon]] *ERROR* Failed to load firmware! --- Guess I have to research how to put that back in now, as my level of idealism doesn't cover basic functionality falling flat. I understand the issues with binary blobs, but from a right-here, right-now perspective, what you do here is to cripple a driver (one among many, I assume) and let it be a surprise for users if things go belly up. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Wayland setup
On 12.03.2018 21:54, Thorsten Wilms wrote: --- #! /bin/sh if test -z "${XDG_RUNTIME_DIR}"; then export XDG_RUNTIME_DIR=/tmp/${UID}-runtime-dir if ! test -d "${XDG_RUNTIME_DIR}"; then mkdir "${XDG_RUNTIME_DIR}" chmod 0700 "${XDG_RUNTIME_DIR}" fi fi --- Of course it doesn't work, since it runs in its own shell and export takes care of children, not parents, sheesh! I have been pasting the export/mkdir/chmod into the console, instead. So what's the canonical way to add that to ~/.bash_profile or ~/.bashrc, if that seems more appropriate? Or how else to meat those preconditions for weston-launch? Adding my user to the already existing "input" group got rid of "Error opening device /dev/input/eventX: Permission denied". strace revealed another error, "de-latin1-nodeadkeys" in weston.ini couldn't be found, going with just "de" causes silence on that front. Much of the (attached) strace output suggests things go their way, but then: --- [18:35:32.835] warning: neither EGL_EXT_swap_buffers_with_damage or EGL_KHR_swap_buffers_with_damage is supported. Performance could be affected. [18:35:32.835] EGL_KHR_surfaceless_context available radeon: Failed to allocate a buffer: radeon:size : 65536 bytes radeon:alignment : 4096 bytes radeon:domains : 2 radeon:flags : 4 radeon: Failed to allocate a buffer: radeon:size : 65536 bytes radeon:alignment : 4096 bytes radeon:domains : 2 radeon:flags : 4 [18:35:32.837] EGL version: 1.5 (DRI2) --- --- [18:35:32.931] failed to bind to /tmp/.X11-unix/X0: No such file or directory Failed to process Wayland connection: Connection reset by peer failed to create display: Connection reset by peer --- Creating and `chmod 0700`ing /tmp/.X11-unix/X0 did not lead to a successful run. The very end: --- wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 539 close(5)= 0 close(3)= 0 ioctl(0, _IOC(0, 0x4b, 0x51, 0), 0) = -1 ENOTTY (Inappropriate ioctl for device) ioctl(0, KDSKBMODE, 0x3)= 0 ioctl(0, KDSETMODE, 0) = 0 ioctl(4, DRM_IOCTL_DROP_MASTER, 0) = -1 EACCES (Permission denied) ioctl(0, VT_SETMODE, 0x7ffd806628f0) = 0 exit_group(1) = ? +++ exited with 1 +++ --- -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/ strace_weston-launch_4.txt.bz2 Description: application/bzip
Re: Dual-booting solution with only one actual Grub installation
On 13.03.2018 14:23, Martin Castillo wrote: I mentioned it in [0], and I think I got the idea from some other post in guix-devel or help-guix. Martin [0]:https://lists.gnu.org/archive/html/guix-devel/2017-12/msg00134.html I think I even came across that threat, but forgot about it, as it didn't lead to me to a complete solution. Regarding the discussion about adding cases to --no-bootloader, I think this belongs into the configuration, not an option given to `guix system reconfigure`, which one might forget to pass all too easily. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Half a success with chroot
On 12.03.2018 23:29, Gábor Boskovits wrote: Could you please check, if the solution mentioned here works for you: https://bugzilla.redhat.com/show_bug.cgi?id=1361043 A short summary: Similar error can be caused by shared mounts. This way you can check if this applies. Note 'shared' in the output: grep -iP '/ /\s' /proc/$$/mountinfo ... 25 0 252:1 / / rw,relatime shared:1 - ext4 /dev/mapper/my--vg-root rw,errors=remount-ro,data=ordered ... $ grep -iP '/ /\s' /proc/$$/mountinfo 26 0 8:17 / / rw,relatime shared:1 - ext4 /dev/sdb1 rw,errors=remount-ro,data=ordered This is usual in systemd systems, and Ubuntu is one of them. Calling unshare -m within the process context helps this. I interpreted that to mean after the chroot, but: --- $ sudo chroot /media/ssd-alt-system /run/current-system/profile/bin/bash root@charly /# source /etc/profile root@charly /# unshare -m unshare: failed to execute /bin/bash: No such file or directory --- However, combined with chroot, it works: --- $ sudo unshare -m sudo chroot /media/ssd-alt-system /run/current-system/profile/bin/bash root@charly /# source /etc/profile root@charly /# guix-daemon --build-users-group=guixbuild & [1] 5907 root@charly /# su thorwil thorwil@charly /$ source /etc/profile thorwil@charly /$ guix package -i emacs-bash-completion guile: warning: failed to install locale warning: failed to install locale: Invalid argument accepted connection from pid 5916, user thorwil spurious SIGPOLL spurious SIGPOLL spurious SIGPOLL The following package will be installed: emacs-bash-completion 2.0.0 /gnu/store/7irxjifw4m8sj0if2nj0r26vf0n0imsj-emacs-bash-completion-2.0.0 substitute: guile: warning: failed to install locale substitute: warning: failed to install locale: Invalid argument spurious SIGPOLL substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivations will be built: /gnu/store/gdihnrv0zykypajy7p94k9qzpmgqbkvz-profile.drv /gnu/store/xlyyh54y77nm8gzm81rckkcvzaihn7dh-fonts-dir.drv /gnu/store/pm80lbbbx2xhvnfb838zn90bwwcw2818-xdg-desktop-database.drv /gnu/store/nkcspwxnd7hmf144krxzv1clq4gch6ms-ca-certificate-bundle.drv /gnu/store/n72ahz242h07dz32g2fkpr308a6cwdb6-xdg-mime-database.drv /gnu/store/fw9k5rg7p6czcp4bnnqkr57gv1qcyg78-gtk-im-modules.drv /gnu/store/856smz8kn9l2gq2b6qcykv6aa06c3qv7-info-dir.drv /gnu/store/1bybb1dnry03qwkr2d2888xi2z0hb6y7-gtk-icon-themes.drv /gnu/store/4vgn265kihmk1aayy3rg5h4z00dvlfmy-emacs-bash-completion-2.0.0.drv /gnu/store/gwlj87yvqfsrv6lzcphfm65ndwpar0df-manual-database.drv grafting '/gnu/store/hfc5j4dq387s2iyvz392dja8zc75cvss-emacs-bash-completion-2.0.0' -> '/gnu/store/7irxjifw4m8sj0if2nj0r26vf0n0imsj-emacs-bash-completion-2.0.0'... Creating manual page database... 32 entries processed in 0.2 s warning: collision encountered: /gnu/store/jfbf26368y3q897whlf8n5vina2scj82-gtk-icon-themes/share/icons/hicolor/icon-theme.cache /gnu/store/wndka13848kxaxw2ymv7l4ajzi1abrbb-inkscape-0.92.2/share/icons/hicolor/icon-theme.cache warning: arbitrarily choosing /gnu/store/jfbf26368y3q897whlf8n5vina2scj82-gtk-icon-themes/share/icons/hicolor/icon-theme.cache 44 packages in profile thorwil@charly /$ --- There are still those "spurious SIGPOLL" and I don't think I saw "substitute: guile: warning: failed to install locale" when booted into Guix SD. I'm forwarding this also to devel, so that we can discuss, if doing this is advisable in general. WDYT? OK, I just subscribed to guix-devel. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Wayland setup
_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_OES_depth_texture_cube_map GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_color_buffer_float GL_EXT_separate_shader_objects GL_EXT_shader_integer_mix GL_EXT_base_instance GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_copy_image GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_polygon_offset_clamp thorwil@charly ~$ led to create input devices option 'seat', udev device property ID_SEAT)itted).). --- After making weston-launch setuid again: --- thorwil@charly ~$ weston-launch thorwil@charly ~$ led to create input devices option 'seat', udev device property ID_SEAT)itted).).e is supported. Performance could be affected. --- ?! Could you possibly strace if it tries to open your XDG_RUNTIME_DIR directory? Attached (hope it works on this list). `strace weston-launch &> starce_weston-launch.txt` does not contain "tmp", "runtime" or "XDG", but: "Error opening device /dev/input/eventX: Permission denied" for X in [0-9]. Guess I have to doublecheck that setuid thing now. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/ strace_weston-launch.txt.bz2 Description: application/bzip
Dual-booting solution with only one actual Grub installation
Hi once again, There's a convenient dual-booting solution that I think hasn't been mentioned in these circles. You can let Grub2 offer an item that will load another grub.cfg. In my case, that's a Grub installed from Ubuntu, with a menu that will be updated in sync with kernel installation/removal, plus one "Guix SD" item that will lead to the known Guix SD menu, also always up-to-date, without an actual second Grub installation. No manual updating, no chain-loading of one or the other from an independent third Grub. Guix SD: /etc/config.scm, in operating-system: (bootloader (bootloader-configuration (bootloader (bootloader (inherit grub-bootloader) (installer #~(const #t)) Thanks to snape in #guix. With this, /boot/grub/grub.cfg will be generated, but Grub won't actually be installed. Other system with Grub in MBR, addition to: /etc/grub.d/40_custom: menuentry 'GuixSD' { search --fs-uuid --set=root a3a97a6f-a4c9-4569-98a3-4306f4db9ff8 configfile /boot/grub/grub.cfg } Don't forget `sudo update-grub`. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Half a success with chroot
Hi! Thanks to mbakke in #guix, I managed to chroot from my comfortable Ubuntu into the rather naked Guix SD installation, with a few things working, though it ended with a "cannot pivot old root directory". Maybe someone here can improve on it; otherwise see it as a rough note about the possibilities and limitations. Given a Guix SD on /dev/sdb2: sudo mkdir /mnt/guixsd sudo mount /dev/sdb2 /mnt/guixsd cd /mnt/guixsd sudo mount --bind /dev dev sudo mount --bind /proc proc sudo mount --bind /sys sys sudo chroot /mnt/guixsd /run/current-system/profile/bin/bash => logged in as root, no commands available source /etc/profile => at least basic shell commands work, as does `guix package -s banana` (yes, that does find something!) # su thorwil $ guix package -i emacs-bash-completion bash: guix: command not found $ source /etc/profile $ guix package -i emacs-bash-completion guile: warning: failed to install locale warning: failed to install locale: Invalid argument guix package: error: failed to connect to `/var/guix/daemon-socket/socket': Connection refused $ exit Oops, starting guix-daemon: # guix-daemon --build-users-group=guixbuild & [1] 4347 # su thorwil $ source /etc/profile $ guix package -i emacs-bash-completion guile: warning: failed to install locale warning: failed to install locale: Invalid argument accepted connection from pid 4350, user thorwil substitute: guile: warning: failed to install locale substitute: warning: failed to install locale: Invalid argument substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following package will be installed: emacs-bash-completion2.0.0 /gnu/store/7irxjifw4m8sj0if2nj0r26vf0n0imsj-emacs-bash-completion-2.0.0 substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivations will be built: /gnu/store/z55j7zi1hgzyikbmv5gpnbv6sw49j6kw-profile.drv /gnu/store/yli3x8jscrcy4vicjvqlcd7z2cnyzc9q-gtk-im-modules.drv /gnu/store/sk4l43zrsjjgrnvbwcayf2lm484pnqxd-fonts-dir.drv /gnu/store/kk4yd0k0g30fmqwnmrmqv3ygnvl8s2fw-info-dir.drv /gnu/store/hffz6p320akp7sbqskxrdlxjslld5qpg-gtk-icon-themes.drv /gnu/store/ac501lz2zg8dc51acdcz457fr32r6r0c-xdg-desktop-database.drv /gnu/store/2gjkjjrbv8x3xx6xgma2wcaq3xga8wha-xdg-mime-database.drv /gnu/store/0mxc3m4l8n7l2h5p95s4cmfzhwhqpjbc-ca-certificate-bundle.drv /gnu/store/4vgn265kihmk1aayy3rg5h4z00dvlfmy-emacs-bash-completion-2.0.0.drv /gnu/store/d3pp0bl6f8ml06yzgm08pnyg3624rlc2-manual-database.drv 0.0 MB will be downloaded: /gnu/store/hfc5j4dq387s2iyvz392dja8zc75cvss-emacs-bash-completion-2.0.0 guile: warning: failed to install locale warning: failed to install locale: Invalid argument Downloading https://mirror.hydra.gnu.org/guix/nar/gzip/hfc5j4dq387s2iyvz392dja8zc75cvss-emacs-bash-completion-2.0.0... emacs-bash-completion-2.0.0 31KiB 5.3MiB/s 00:00 [##] 100.0% guix package: error: build failed: while setting up the build environment: cannot pivot old root directory onto '/gnu/store/4vgn265kihmk1aayy3rg5h4z00dvlfmy-emacs-bash-completion-2.0.0.drv.chroot/real-root':$ ```` -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: Wayland setup
On rereading Weston documentation, I noticed that weston-launch should be setuid. As that hasn't been taken care of, I added to my configuration: ;; weston-launch needs to be setuid: (setuid-programs (cons #~(string-append #$weston "/bin/weston-launch") %setuid-programs)) Before: `which weston-launch` => /run/current-system/profile/bin/weston-launch Aftwerwards `which weston-launch` => /run/setuid-programs/ It makes no difference, though. Still just: "t it.org/wiki/Specifications/basedir-specis not set.n2-weston-3.0.0/bin/weston 2t=weston=3.0.0" but nothing I could find below /var/log, nothing suspicious in dmesg. Suggestions on how to get at least a sensible error out of it?
Re: Wayland setup
Hi! Thank you, Andreas and Oleg. Aside of additional services, this seems to be the way to get Weston with a minimum of stuff installed: --- (use-modules (gnu) (gnu packages freedesktop) ; for wayland (gnu packages xorg)) ; for xorg-server-xwayland (use-service-modules networking) (operating-system ... ;; Trying weston-launch as plain user: got told to either run it from ;; an active and local (systemd) session, or add the user to weston- ;; launch. weston-launch needs to be created, first: (groups (cons (user-group (system? #t) (name "weston-launch")) %base-groups)) (users (cons (user-account (name "thorwil") (group "users") (supplementary-groups '("audio" "netdev" "video" "weston-launch" "wheel")) (home-directory "/home/thorwil")) %base-user-accounts)) ;; Globally-installed packages. (packages (cons* xorg-server-xwayland wayland weston %base-packages)) ;; Add service to the baseline (services (cons* (console-keymap-service "de-latin1-nodeadkeys") (dhcp-client-service) (simple-service 'etc-additions etc-service-type (list `("inputrc" ,(plain-file "inputrc" "set bell-style none" (gpm-service) ; mouse on the console %base-services))) --- From my reading, the command to launch Weston outside of an X session is weston-launch. The first attempt led to a message about the "weston-launch" group. It would have been nice to have that taken care of automatically, though I don't see how that could happen in harmony with hand-edited configuration. The next error: XDG_RUNTIME_DIR not set. https://wayland.freedesktop.org/building.html offers this script, which I used: if test -z "${XDG_RUNTIME_DIR}"; then export XDG_RUNTIME_DIR=/tmp/${UID}-runtime-dir if ! test -d "${XDG_RUNTIME_DIR}"; then mkdir "${XDG_RUNTIME_DIR}" chmod 0700 "${XDG_RUNTIME_DIR}" fi fi So now "weston-launch" will lead to no (obvious) effect, except printing this one mangled line: "t it.org/wiki/Specifications/basedir-specis not set.n2-weston-3.0.0/bin/weston 2t=weston=3.0.0" Specifying a TTY like "weston-launch -t 2" makes no difference, except for "7", in which case the whole system becomes unresponsive after an Alt-F7. I tried with and without this ~/.config/weston.ini: --- [core] xwayland=true [keyboard] keymap_layout=de-latin1-nodeadkeys [output] name=WL1 mode=2560x1600 --- Any ideas? Success stories with any other Wayland compositor outside of Gnome? -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Wayland setup
adow-4.5/sbin/nologin ;warning: arbitrarily choosing /gnu/store/hi7gadjf2gc3ma5bzabpkzjzcd89zz87-util-linux-2.30.1/sbin/nologin ;warning: collision encountered: /gnu/store/54k4zlx3azmhqydlilysirpqmhvcw8gr-inetutils-1.9.4/bin/ifconfig /gnu/store/q588bqj8cshg9cijkm5s18xspc9wkap8-net-tools-1.60-0.479bb4a/bin/ifconfig ;warning: arbitrarily choosing /gnu/store/54k4zlx3azmhqydlilysirpqmhvcw8gr-inetutils-1.9.4/bin/ifconfig ;/gnu/store/skrdqdm1xnfphdrk5fc14kg2mj0sfd8h-system ;/gnu/store/19y01m3r6riir52mnkvg8jcq4iynrlg7-grub.cfg ; ;initializing operating system under '/mnt'... ;copying to '/mnt'... ;populating '/mnt'... --- Any help getting closer to my goal appreciated! -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/