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 >>> >
