Hi Ludo’,

On Fri Jan 23, 2026 at 5:44 PM CET, Ludovic Courtès wrote:
> "Tanguy Le Carrour" <[email protected]> skribis:
>
>>>> while setting up the child process: in phase exec: executing
>>>> `/gnu/store/rv7ym20nf7dkv81rr6f0pr2mv6ww7dx1-guile-3.0.9/bin/guile':
>>>> No such file or directory
>
> [...]
>
>>       (machine-ssh-configuration
>>         (host-name "asura.lan")
>>         (host-key "ssh-ed25519 AAAA[…]")
>>         (system "armhf-linux")
>
> And:
>
> --8<---------------cut here---------------start------------->8---
> $ file /gnu/store/rv7ym20nf7dkv81rr6f0pr2mv6ww7dx1-guile-3.0.9/bin/guile
> /gnu/store/rv7ym20nf7dkv81rr6f0pr2mv6ww7dx1-guile-3.0.9/bin/guile: ELF 32-bit 
> LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter 
> /gnu/store/5rbyi78lfdg126d0xgsx47aq60kfrxn7-glibc-2.41/lib/ld-linux-armhf.so.3,
>  for GNU/Linux 3.2.0, stripped
> --8<---------------cut here---------------end--------------->8---
>
> So this is all good… assuming 
> /gnu/store/2i1pqnkah9jmqlsilxpg0zmfm0wzqq4h-remote-assertion.scm.drv was
> actually built on asura.lan.

Chances are it was built on a different machine using Qemu.


> Could you try “guix build 
> /gnu/store/2i1pqnkah9jmqlsilxpg0zmfm0wzqq4h-remote-assertion.scm.drv” on
> asura.lan?

```
tanguy@asura ~$ guix build 
/gnu/store/2i1pqnkah9jmqlsilxpg0zmfm0wzqq4h-remote-assertion.scm.drv
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: looking for substitutes on 'https://ci.guix.gnu.org'... 100.0%
cannot build missing derivation 
`/gnu/store/2i1pqnkah9jmqlsilxpg0zmfm0wzqq4h-remote-assertion.scm.drv'
guix build: error: build of 
`/gnu/store/2i1pqnkah9jmqlsilxpg0zmfm0wzqq4h-remote-assertion.scm.drv' failed  
```

There’s nothing matching `remote-assertion` in Asura’s store. There’s nothing 
matching `remote`
actually.


> I vaguely remember a bug where you have to specify:
>
>   (build-locally? #f)
>
> in your ‘machine-ssh-configuration’ when the machine you’re deploying to
> has a different architecture than the one running ‘guix deploy’.  Maybe
> this is evidence that the bug still exists…

"If false, system derivations will be built on the machine being deployed to."
… 🤔… this is the opposite of what I’m looking to achieve!? 😱

Trying anyway…

```console
$ guix deploy machines/asura.scm -L modules/ --no-offload
The following 1 machine will be deployed:
  asura

guix deploy: deploying to asura...
guix deploy: sending 330 store items (1 MiB) to 'asura.lan'...
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: looking for substitutes on 'https://ci.guix.gnu.org'... 100.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: looking for substitutes on 'https://ci.guix.gnu.org'... 100.0%
building path(s) 
`/gnu/store/w9s3hmr6jz1bkfs7im72yn041jrynr7f-remote-assertion.scm'
building path(s) 
`/gnu/store/2k4rsvkv9mddrmvsm3yadcfliqngnrzj-module-import-compiled'
[ 1/32] Loading './gnu/build/file-systems.scm'...
[ 2/32] Loading './gnu/build/linux-modules.scm'...
[ 3/32] Loading './gnu/system/file-systems.scm'...
[ 4/32] Loading './gnu/system/uuid.scm'...
[ 5/32] Loading './guix/build/bournish.scm'...
[ 6/32] Loading './guix/build/syscalls.scm'...
[ 7/32] Loading './guix/build/union.scm'...
[ 8/32] Loading './guix/build/utils.scm'...
[ 9/32] Loading './guix/colors.scm'...
[10/32] Loading './guix/diagnostics.scm'...
[11/32] Loading './guix/elf.scm'...
[12/32] Loading './guix/glob.scm'...
[13/32] Loading './guix/i18n.scm'...
[14/32] Loading './guix/memoization.scm'...
[15/32] Loading './guix/profiling.scm'...
[16/32] Loading './guix/records.scm'...
[17/32] Compiling './gnu/build/file-systems.scm'...
[18/32] Compiling './gnu/build/linux-modules.scm'...
# [a lot of `Failed to autoload call-with-gzip-input-port in (zlib): no code 
for module (zlib)`]
[19/32] Compiling './gnu/system/file-systems.scm'...
[20/32] Compiling './gnu/system/uuid.scm'...
[21/32] Compiling './guix/build/bournish.scm'...
[22/32] Compiling './guix/build/syscalls.scm'...
[23/32] Compiling './guix/build/union.scm'...
[24/32] Compiling './guix/build/utils.scm'...
[25/32] Compiling './guix/colors.scm'...
[26/32] Compiling './guix/diagnostics.scm'...
[27/32] Compiling './guix/elf.scm'...
[28/32] Compiling './guix/glob.scm'...
[29/32] Compiling './guix/i18n.scm'...
[30/32] Compiling './guix/memoization.scm'...
[31/32] Compiling './guix/profiling.scm'...
[32/32] Compiling './guix/records.scm'...
building path(s) 
`/gnu/store/97q2lyzs9gc58jj8m2ypwavxcyqd1w5n-module-import-compiled'
[ 1/ 2] Loading './guix/repl.scm'...
[ 2/ 2] Compiling './guix/repl.scm'...
building path(s) 
`/gnu/store/nf4yr5fz8gs2d0fw8vf7rg15zjp9mb9n-remote-assertion.scm'
building path(s) 
`/gnu/store/7gqw5y7jbh8fbaq71zkbk9ahn5fqyn88-remote-assertion.scm'
building path(s) 
`/gnu/store/8vvi7si2rv5lwal15gw1pns88z494s4z-remote-assertion.scm'
building path(s) `/gnu/store/hpn9vnavcafqz45zicwdcckcvrcn2f05-remote-exp.scm'
guix deploy: error: failed to deploy asura: no file system with label 'root'
```

The root (`/`) file system was built by `guix system image` and the declaration
looks like this:

```scheme
(define asura-file-systems
  (list
    (file-system
      (device (file-system-label "root"))
      (mount-point "/")
      (type "ext4"))
    (file-system
      (device (uuid "8340bde0-c01f-4bf3-b93e-4243a505c9aa"))
      (mount-point "/mnt/data")
      (type "ext4"))))
```

```console
$ lsblk -o NAME,MOUNTPOINTS,UUID,LABEL
NAME        MOUNTPOINTS UUID                                 LABEL
sda                     2015-06-06-14-19-40-00
└─sda1      /mnt/data   8340bde0-c01f-4bf3-b93e-4243a505c9aa 
mmcblk0                                                      
└─mmcblk0p1 /gnu/store  e357626e-1dd0-d9d9-f921-ec90e357626e Guix_image
            /                                                
```

There’s not label on the `/` indeed.

If I modify my filesystem declaration to use the UUID –but I don’t know if this 
UUID
is stable across image builds!? I’ll have to give it a try or read some 
code!?–, then:

```console
$ guix deploy machines/asura.scm -L modules/ --no-offload
The following 1 machine will be deployed:
  asura

guix deploy: deploying to asura...
guix deploy: sending 6 store items (0 MiB) to 'asura.lan'...
building path(s) 
`/gnu/store/hpgwcm514nwzn8bnl3i704f5b7bzp773-remote-assertion.scm'
building path(s) 
`/gnu/store/xvyf79m532acpmzbaacg5hly7hlvg6i4-remote-assertion.scm'
building path(s) `/gnu/store/r589qx1cn346m6iw6jv17vjc8500xmik-remote-exp.scm'
guix deploy: warning: cannot determine provenance for current system
guix deploy: sending 148 store items (1 MiB) to 'asura.lan'...
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: looking for substitutes on 'https://ci.guix.gnu.org'... 100.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: looking for substitutes on 'https://ci.guix.gnu.org'... 100.0%
building path(s) `/gnu/store/bxxk7raryrwh490x85b1j9a9zsk3dpa2-config.scm'
building path(s) `/gnu/store/rmk1w32pn8zzljbgzag9x979gl40xfzh-module-import'
building path(s) `/gnu/store/9dhi2l817p599l62si1p3xlxm59vhbrl-module-import'
building path(s) 
`/gnu/store/jv8ry1kr220knfhlnhlw2khzsvqqvbqg-module-import-compiled'
[ 1/58] Loading './guix/base16.scm'...
[ 2/58] Loading './guix/base32.scm'...
[ 3/58] Loading './guix/base64.scm'...
[ 4/58] Loading './guix/build/syscalls.scm'...
[ 5/58] Loading './guix/build/utils.scm'...
[ 6/58] Loading './guix/build-system.scm'...
[ 7/58] Loading './guix/colors.scm'...
[ 8/58] Loading './guix/combinators.scm'...
[ 9/58] Loading './guix/config.scm'...
[10/58] Loading './guix/deprecation.scm'...
[11/58] Loading './guix/derivations.scm'...
[12/58] Loading './guix/diagnostics.scm'...
[13/58] Loading './guix/gexp.scm'...
[14/58] Loading './guix/grafts.scm'...
[15/58] Loading './guix/i18n.scm'...
[16/58] Loading './guix/licenses.scm'...
[17/58] Loading './guix/memoization.scm'...
[18/58] Loading './guix/modules.scm'...
[19/58] Loading './guix/monads.scm'...
[20/58] Loading './guix/packages.scm'...
[21/58] Loading './guix/profiles.scm'...
[22/58] Loading './guix/profiling.scm'...
[23/58] Loading './guix/read-print.scm'...
[24/58] Loading './guix/records.scm'...
[25/58] Loading './guix/search-paths.scm'...
[26/58] Loading './guix/serialization.scm'...
[27/58] Loading './guix/sets.scm'...
[28/58] Loading './guix/store.scm'...
[29/58] Loading './guix/utils.scm'...
[30/58] Compiling './guix/base16.scm'...
[31/58] Compiling './guix/base32.scm'...
[32/58] Compiling './guix/base64.scm'...
[33/58] Compiling './guix/build/syscalls.scm'...
[34/58] Compiling './guix/build/utils.scm'...
[35/58] Compiling './guix/build-system.scm'...
[36/58] Compiling './guix/colors.scm'...
[37/58] Compiling './guix/combinators.scm'...
[38/58] Compiling './guix/config.scm'...
[39/58] Compiling './guix/deprecation.scm'...
[40/58] Compiling './guix/derivations.scm'...
[41/58] Compiling './guix/diagnostics.scm'...
[42/58] Compiling './guix/gexp.scm'...
[43/58] Compiling './guix/grafts.scm'...
[44/58] Compiling './guix/i18n.scm'...
[45/58] Compiling './guix/licenses.scm'...
[46/58] Compiling './guix/memoization.scm'...
[47/58] Compiling './guix/modules.scm'...
[48/58] Compiling './guix/monads.scm'...
[49/58] Compiling './guix/packages.scm'...
[50/58] Compiling './guix/profiles.scm'...
[51/58] Compiling './guix/profiling.scm'...
[52/58] Compiling './guix/read-print.scm'...
[53/58] Compiling './guix/records.scm'...
[54/58] Compiling './guix/search-paths.scm'...
[55/58] Compiling './guix/serialization.scm'...
[56/58] Compiling './guix/sets.scm'...
[57/58] Compiling './guix/store.scm'...
[58/58] Compiling './guix/utils.scm'...
building path(s) 
`/gnu/store/hg0ksrw1ym6b78wjncszhwbdzr3daj2z-module-import-compiled'
[ 1/58] Loading './guix/base16.scm'...
#
# … same as above, it loads and compile the same stuff, which takes quite a 
long time
#
building path(s) `/gnu/store/0ffc4mzcxllhvlbn77vvimcj6ll1sn84-remote-exp.scm'
guix deploy: sending 2175 😱 store items (10 MiB) to 'asura.lan'...
building path(s) `/gnu/store/7hsi2d71c11gaivlzpsqibivamqq6300-config.scm'
building path(s) 
`/gnu/store/2qk27ld801jzhx6x3iy0kmv7dyf2pn1g-openssh-authorized-keys'
building path(s) `/gnu/store/mc6y4s8yzih4n97pcyr53h0bbgbxsqzi-module-import'
building path(s) 
`/gnu/store/q19ffa9k60m1rkdl95kjlqgmff7v832n-activate-service.scm'
building path(s) 
`/gnu/store/ia43y781w8r4r2jhjapagrnf48ll6bi6-module-import-compiled'
[ 1/58] Loading './guix/base16.scm'...
#
# … same as above, it loads and compile the same stuff, which takes quite a 
long time
#
building path(s) `/gnu/store/5qjh8ixw8c0kl1m4rsfcif1r5p376bca-activate.scm'
building path(s) `/gnu/store/x5akp732ldqagxjv9j0bcjdhkh8cclf9-module-import'
building path(s) `/gnu/store/aqlcggcgk5bh6prwhv8xylrv3cp28znp-boot'
building path(s) 
`/gnu/store/ipj6dlq1dfw6kfh0zpc37m8bdkpbhhz9-module-import-compiled'
[ 1/58] Loading './guix/base16.scm'...
#
# … same as above, it loads and compile the same stuff, which takes quite a 
long time
#
building path(s) `/gnu/store/nnwqrfn7wmdh04i7r7qnv15v3a5nfgpn-provenance'
building path(s) `/gnu/store/6asxp4cn7sncp9jrhfygig46bnp9alsm-system'
building path(s) 
`/gnu/store/0yn208aly1cspapm0s6q2mpl60gym0j1-switch-to-system.scm'
building path(s) `/gnu/store/q2370hf35l4bmi389rxspwgwxchnz6nc-remote-exp.scm'
guix deploy: sending 4 store items (0 MiB) to 'asura.lan'...
guix deploy: error: unauthorized public key: (public-key 
 (ecc 
  (curve Ed25519)
  (q #5D1AA4C7D9674FB883A749A98D4D8BD97F5503249BC2C38472016A72D939056A#)
  )
 )
```

I’m not quite sure why it only fails to transfer files after the forth
`sending X store items (0 MiB) to 'asura.lan'` messages, but indeed
the key was not declared in my configuration. So I’m back to building
the image with a modified `guix-service-type` service.
I’ll give it another try later this week…

--
Tanguy

Reply via email to