Hi Rutherther, Thanks for the issue link. I have also run into issues updating the store since switching to the unprivileged daemon on these Ubuntu VMs. I get an error stating that there are issues with read-only files in the store. I fixed this by restarting the guix-daemon on these VMs since that seems to unmount and remount the /gnu/store read-only after making it available to the guix-daemon process for writing. This behavior is quite mysterious and not good for my current CI/CD pipeline. I hope the bug is resolved on the master branch soon.
Cheers, Gary Rutherther <[email protected]> writes: > Hey, > > My wild guess would be you are running into similar issue as > <https://codeberg.org/guix/guix/issues/5891> as you are likely using > unprivileged daemon on Ubuntu and privileged on Guix System. > > You can try switching to unprivileged daemon on your Guix System and try > building like that. I suspect you will hit the issue on both systems > afterwards. > > Rutherther > > On February 5, 2026 3:37:52 PM GMT+01:00, Gary Johnson > <[email protected]> wrote: >>Thanks for the debugging help, Daniel. I'll take a look and see if I can spot >>why this function is crashing on my packages. >> >>~Gary >> >>Daniel Littlewood <[email protected]> writes: >> >>> Hi Gary, >>> >>> At first I was surprised to see gnu-build-system in the traceback, but >>> it turns out copy-build-system is implemented in terms of >>> gnu-build-system (I did not know this, maybe you did). Looking at the >>> procedure install-license-files in gnu-build-system, there are a >>> couple of calls to match which could be failing. If I'm reading the >>> traceback correctly, it points to line 881, which is the call to match >>> in find-source-directory, quoted below. >>> >>> (define (find-source-directory package) >>> ;; For an out-of-source build, guess the source directory location >>> ;; relative to the current directory. Return #f on failure. >>> (match (scandir ".." >>> (lambda (file) >>> (and (not (member file '("." ".." "build"))) >>> (file-is-directory? >>> (string-append "../" file))))) >>> (() ;hmm, no source >>> #f) >>> ((source) ;only one other file >>> (string-append "../" source)) >>> ((directories ...) ;pick the most likely one >>> ;; This happens for example with libstdc++, which lives within >>> the GCC >>> ;; source tree. >>> (any (lambda (directory) >>> (and (string-prefix? package directory) >>> (string-append "../" directory))) >>> directories)))) >>> >>> This procedure is apparently only called when out-of-source? is true, >>> and I am not sure what that means. Regardless, if (match (scandir >>> ...)) does not match the given patterns, it must not be returning a >>> list (and the traceback confirms this; it is in fact returning #f). I >>> suppose this indicates that scandir failed for some reason, for >>> instance that .. is not readable. Indeed my copy of the guile manual >>> (page 743) confirms this (it cannot be the case that .. is some other >>> type of file, so it must be an unreadable directory). >>> >>>> Return #f when name is unreadable or is not a directory. >>> >>> This explains the error at least - the match call does not handle #f. >>> This does however leave open some questions I do not have an answer >>> for. I am not sure what .. is in this context. Perhaps /gnu/store? I >>> think that can't be it, because searching the entire store for a >>> license file in one package would be terribly wasteful. I guess .. >>> must be the checked out source tree. But then how can it not be >>> readable? >>> >>> I hope this debugging is helpful, although I am still confused. >>> >>> Best wishes, >>> >>> Dan >>> >>> On 28/01/2026 14:10, Gary Johnson wrote: >>>> Hi Guix, >>>> >>>> I recently installed Guix onto a new Ubuntu VM using the standard >>>> guix-install.sh script. Now on this VM, I cannot successfully build >>>> packages that do build correctly on my own machine. >>>> >>>> While one might expect that I am just running different versions of Guix >>>> on each machine, this shouldn't be the case because I am using the same >>>> channels.scm file on both computers via the `guix time-machine` command. >>>> I've never seen different behavior between two machines running the same >>>> Guix version and building the same packages before, so I am utterly >>>> mystified. >>>> >>>> Here's the error I get on my new VM when building a package: >>>> >>>> =========================================================================== >>>> >>>> starting phase `install-license-files' >>>> error: in phase 'install-license-files': uncaught exception: >>>> match-error "match" "no matching pattern" #f >>>> phase `install-license-files' failed after 0.0 seconds >>>> Backtrace: >>>> 9 (primitive-load "/gnu/store/mbyp0pi1lbcqzw22mv0bjpabqis…") >>>> In guix/build/gnu-build-system.scm: >>>> 972:2 8 (gnu-build #:source _ #:outputs _ #:inputs _ #:phases . #) >>>> In ice-9/boot-9.scm: >>>> 1752:10 7 (with-exception-handler _ _ #:unwind? _ # _) >>>> In srfi/srfi-1.scm: >>>> 634:9 6 (for-each #<procedure 71ac5e089d40 at guix/build/gnu-b…> …) >>>> In ice-9/boot-9.scm: >>>> 1752:10 5 (with-exception-handler _ _ #:unwind? _ # _) >>>> In guix/build/gnu-build-system.scm: >>>> 993:23 4 (_) >>>> 889:7 3 (install-license-files #:outputs _ #:license-file-regexp …) >>>> 881:4 2 (_) >>>> In ice-9/boot-9.scm: >>>> 1685:16 1 (raise-exception _ #:continuable? _) >>>> 1685:16 0 (raise-exception _ #:continuable? _) >>>> >>>> ice-9/boot-9.scm:1685:16: In procedure raise-exception: >>>> Throw to key `match-error' with args `("match" "no matching pattern" #f)'. >>>> build process 11 exited with status 256 >>>> >>>> =========================================================================== >>>> >>>> Here is one of the many offending files that are all failing for me like >>>> this: >>>> >>>> (define geoserver-css-plugin >>>> (package >>>> (name "geoserver-css-plugin") >>>> (version "2.19.6") >>>> (source (origin >>>> (method url-fetch) >>>> (uri (string-append >>>> "https://sourceforge.net/projects/geoserver/files/GeoServer/" version >>>> "/extensions/geoserver-" version >>>> "-css-plugin.zip")) >>>> (sha256 (base32 >>>> "06h2avzqps4dv9lwpck14v4cpk511z1mh13d3w5ii1153rcqdihb")))) >>>> (build-system copy-build-system) >>>> (arguments '(#:install-plan '(("." "./" #:exclude >>>> ("environment-variables"))))) >>>> (native-inputs (list unzip)) >>>> (home-page >>>> "https://docs.geoserver.org/latest/en/user/styling/css/install.html") >>>> (synopsis "GeoServer CSS Plugin") >>>> (description "The GeoServer CSS Plugin enables you to write layer >>>> styles using CSS instead of SLD.") >>>> (license gpl2))) >>>> >>>> In order to get them to build I have to modify their build phases like so: >>>> >>>> (define geoserver-css-plugin >>>> (package >>>> (name "geoserver-css-plugin") >>>> (version "2.19.6") >>>> (source (origin >>>> (method url-fetch) >>>> (uri (string-append >>>> "https://sourceforge.net/projects/geoserver/files/GeoServer/" version >>>> "/extensions/geoserver-" version >>>> "-css-plugin.zip")) >>>> (sha256 (base32 >>>> "06h2avzqps4dv9lwpck14v4cpk511z1mh13d3w5ii1153rcqdihb")))) >>>> (build-system copy-build-system) >>>> (arguments '(#:phases (modify-phases %standard-phases >>>> (delete 'install-license-files)) >>>> #:install-plan '(("." "./" #:exclude >>>> ("environment-variables"))))) >>>> (native-inputs (list unzip)) >>>> (home-page >>>> "https://docs.geoserver.org/latest/en/user/styling/css/install.html") >>>> (synopsis "GeoServer CSS Plugin") >>>> (description "The GeoServer CSS Plugin enables you to write layer >>>> styles using CSS instead of SLD.") >>>> (license gpl2))) >>>> >>>> Does anybody have any idea what could be going on here? >>>> >>>> Thanks, >>>> Gary >>>> >> -- GPG Key ID: C4FBEDBD Use `gpg --search-keys [email protected]' to find me Protect yourself from surveillance: https://emailselfdefense.fsf.org ======================================================================= () ascii ribbon campaign - against html e-mail /\ www.asciiribbon.org - against proprietary attachments Why is HTML email a security nightmare? See https://useplaintext.email/ Please avoid sending me MS-Office attachments. See http://www.gnu.org/philosophy/no-word-attachments.html
