Package: guix
Version: 1.4.0-4
Severity: normal
X-Debbugs-Cc: [email protected]

Dear Maintainer,

Debian's `guix-daemon` breaks if given the `--discover` option, apparently
because some files from upstream Guix 1.4.0 are not installed by the Debian
package. Note that the man page for `guix-daemon` in Debian claims that
`--discover` is supported.

I discussed this problem at
https://lists.gnu.org/archive/html/help-guix/2023-06/msg00083.html before
finding the cause of the issue.

Minimal steps to reproduce:

 1. `sudo apt install guix`
 2. Enable the `--discover` option:
     a. `sudo systemctl edit guix-daemon.service`
     b. In your editor, write:
        ```
        [Service]
        ExecStart=
        ExecStart=/usr/bin/guix-daemon \
            --build-users-group=_guixbuild \
            --discover=yes
        ```
     c. `sudo systemctl restart guix-daemon.service`
 3. Run `sudo systemctl status guix-daemon.service` and observe that, while
    the service is running,  the journal contains a message like
    `Jun 22 16:05:40 debiantestin-2 guix-daemon[2522]: guix: discover: command 
not found`.
 4. Run a command like `guix pull` and observe the error below.

```
Updating channel 'guix' from Git repository at 
'https://git.savannah.gnu.org/git/guix.git'...
Authenticating channel 'guix', commits 9edb3f6 to f25529b (55,750 new 
commits)...
Building from this channel:
  guix      https://git.savannah.gnu.org/git/guix.git   f25529b
substitute: ;;; Failed to autoload read-substitute-urls in (guix scripts 
discover):
substitute: ;;; no code for module (guix scripts discover)
substitute: Backtrace:
substitute: In ice-9/boot-9.scm:
substitute:   1752:10 15 (with-exception-handler _ _ #:unwind? _ # _)
substitute: In unknown file:
substitute:           14 (apply-smob/0 #<thunk 7f80081132e0>)
substitute: In ice-9/boot-9.scm:
substitute:     724:2 13 (call-with-prompt _ _ #<procedure 
default-prompt-handle\u2026>)
substitute: In ice-9/eval.scm:
substitute:     619:8 12 (_ #(#(#<directory (guile-user) 7f8008118c80>)))
substitute: In guix/ui.scm:
substitute:    2275:7 11 (run-guix . _)
substitute:    2217:7 10 (run-guix-command substitute "--query")
substitute: In ice-9/boot-9.scm:
substitute:   1747:15  9 (with-exception-handler #<procedure 7f7fffefe3f0 at 
ic\u2026> \u2026)
substitute:   3327:17  8 (resolve-interface (guix scripts substitute) #:select 
_ \u2026)
substitute: In ice-9/threads.scm:
substitute:     390:8  7 (_ _)
substitute: In ice-9/boot-9.scm:
substitute:   3253:13  6 (_)
substitute: In ice-9/threads.scm:
substitute:     390:8  5 (_ _)
substitute: In ice-9/boot-9.scm:
substitute:   3544:20  4 (_)
substitute:    2836:4  3 (save-module-excursion _)
substitute:   3564:26  2 (_)
substitute: In unknown file:
substitute:            1 (primitive-load-path "guix/scripts/substitute" 
#<proced\u2026>)
substitute: In guix/scripts/substitute.scm:
substitute:    753:33  0 (_)
substitute:
substitute: guix/scripts/substitute.scm:753:33: error: read-substitute-urls: 
unbound variable
guix pull: error: `/usr/bin/guix substitute' died unexpectedly
```

Other commands that might use substitutes, like `guix build hello`, exhibit
the same error. Using `--no-substitutes` works around the problem, with the
obvious downside.

The Debian package really doesn't seem to contain `(guix scripts discover)`,
neither in source nor in compiled form, and it does seem to be present in the
upstream Guix 1.4.0 release. I haven't checked for other files that might be
missing, but it seems like that would be worth doing.

Thanks again!
Philip

-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.3.0-1-amd64 (SMP w/12 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages guix depends on:
ii  guile-3.0       3.0.8-2
ii  guile-3.0-libs  3.0.8-2
ii  guile-gcrypt    0.4.0-2
ii  guile-git       0.5.2-5
ii  guile-gnutls    3.7.9-2
ii  guile-json      4.7.3-2
ii  guile-lzlib     0.0.2-3
ii  guile-sqlite3   0.1.3-3
ii  guile-ssh       0.16.2-1
ii  guile-zlib      0.1.0-4
ii  libbz2-1.0      1.0.8-5+b1
ii  libc6           2.36-9
ii  libgcc-s1       12.2.0-14
ii  libgcrypt20     1.10.2-2
ii  libsqlite3-0    3.40.1-2
ii  libssh-dev      0.10.5-2
ii  libstdc++6      12.2.0-14
ii  zlib1g          1:1.2.13.dfsg-1

Versions of packages guix recommends:
ii  ca-certificates  20230311
ii  less             590-2
ii  nscd             2.36-9
ii  systemd          252.11-1

guix suggests no packages.

-- no debconf information

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to