Subject: Re: bug#27386: offloading documentation and env

From: ng0 <[email-masked]>
Date: Thu, 15 Jun 2017 22:34:56 +0000

ng0 transcribed 7.0K bytes:
> ng0 transcribed 6.4K bytes:
> > ng0 transcribed 1.6K bytes:
> > > Hi,
> > > 
> > > I am setting up local offloading systems and I just ran
> > > into the same issue like I did every time in the last year:
> > > 
> > > with guile in the remote 'user' PATH the guile test works *locally*.
> > > Through ssh, the 'env' output is different than local. I'm now trying
> > > to fix this the same way 'scp' is fixed which is by including the
> > > application in the system profile.
> > > 
> > > This part is implicit in the documentation and not explained, I think
> > > we should be more clear about this.
> > > -- 
> > > ng0
> > > OpenPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
> > > https://krosos.org/~/ng0/ https://www.infotropique.org
> > 
> > user@abyayala ~$ ssh -p 22555 192.168.1.179 -C "which guix"; ssh -p 22555 192.168.1.179 -C "which guile"; ssh -p 22555 192.168.1.179 guile -c "'(use-modules (guix config))'"
> > /run/current-system/profile/bin/guix
> > /gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/bin/guile
> > Backtrace:
> >           13 (apply-smob/1 #<catch-closure 7b8600>)
> > In ice-9/boot-9.scm:
> >     713:2 12 (call-with-prompt ("prompt") #<procedure 7cb600 at ice…> …)
> > In ice-9/eval.scm:
> >     619:8 11 (_ #(#(#<directory (guile-user) 86d0a0>)))
> > In ice-9/command-line.scm:
> >    181:18 10 (_ #<input: string 820e70>)
> > In unknown file:
> >            9 (eval (use-modules (guix config)) #<directory (guile-us…>)
> > In ice-9/eval.scm:
> >    721:20  8 (primitive-eval (use-modules (guix config)))
> > In ice-9/psyntax.scm:
> >   1234:36  7 (expand-top-sequence ((use-modules (guix config))) _ _ # …)
> >   1181:24  6 (parse _ (("placeholder" placeholder)) ((top) #(# # …)) …)
> >    284:10  5 (parse _ (("placeholder" placeholder)) (()) _ c&e (eval) …)
> > In ice-9/boot-9.scm:
> >   3369:20  4 (process-use-modules _)
> >    230:17  3 (map1 (((guix config))))
> >   3370:31  2 (_ ((guix config)))
> >    2795:6  1 (resolve-interface _ #:select _ #:hide _ #:prefix _ # _ …)
> > In unknown file:
> >            0 (scm-error misc-error #f "~A ~S" ("no code for modu…" …) …)
> > 
> > ERROR: In procedure scm-error:
> > ERROR: no code for module (guix config)
> > 
> > 
> > 
> > user@abyayala ~$ ssh -p 22555 192.168.1.179 env
> > SSH_CONNECTION=192.168.1.146 35364 192.168.1.179 22555
> > LANG=en_US.utf8
> > TZ=UTC
> > GTK_DATA_PREFIX=/run/current-system/profile
> > C_INCLUDE_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/include
> > GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt
> > LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules
> > GUILE_LOAD_COMPILED_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/lib/guile/2.2/site-ccache:/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/share/guile/site/2.2
> > USER=user
> > TZDIR=/gnu/store/2ky6yx0zdqqc4ashxa36gs9yis452mkd-tzdata-2017b/share/zoneinfo
> > GUIX_LOCPATH=/run/current-system/locale
> > PWD=/home/user
> > HOME=/home/user
> > SSH_CLIENT=192.168.1.146 35364 22555
> > SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
> > LIBRARY_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/lib
> > TERMINFO_DIRS=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/share/terminfo
> > MAIL=/var/mail/user
> > GIT_EXEC_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/libexec/git-core
> > SHELL=/gnu/store/nrrwyb21bn8cdc0k6pis3ggs2vayibin-bash-4.4.12/bin/bash
> > SHLVL=1
> > ACLOCAL_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/share/aclocal
> > SSL_CERT_DIR=/etc/ssl/certs
> > LOGNAME=user
> > CPLUS_INCLUDE_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/include
> > GUILE_LOAD_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/share/guile/site/2.2
> > DBUS_FATAL_WARNINGS=0
> > PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/bin:/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/sbin:/run/current-system/profile/bin
> > PKG_CONFIG_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/lib/pkgconfig
> > _=/run/current-system/profile/bin/env
> > 
> > 
> > locally (remote system):
> > guix package -l
> > …
> > 
> > Generation 16   Jun 15 2017 20:28:25    (current)
> >  + autoconf     2.69    out     /gnu/store/mz6vcd5wbs597nvxi7l9al7c8v6bzaq0-autoconf-2.69
> >  + automake     1.15    out     /gnu/store/rx2c62n3pxygnzy4mqnk9n832kjp6wrq-automake-1.15
> >  + make 4.2.1   out     /gnu/store/9py8s30bxjidqni68i0c2shl919qj2y0-make-4.2.1
> >  + guile        2.2.2   out     /gnu/store/5zx29y44nrqj0s8h3jlvlj82k8hj4dxs-guile-2.2.2
> >  + guile-ssh    0.11.0  out     /gnu/store/7n4gcz5c0rl3aqv83g271n4f4rz5lyij-guile-ssh-0.11.0
> >  + pkg-config   0.29.1  out     /gnu/store/2xm70k2vppjw5m4aqnh9ii3hiz667dg2-pkg-config-0.29.1
> >  + gcc-toolchain        7.1.0   out     /gnu/store/yr9rk90jfpq7xcbh24aryrnsd2i3qvwa-gcc-toolchain-7.1.0
> >  + libgcrypt    1.7.6   out     /gnu/store/hag795ji8p9vqikwp8cibfibpsa39s3n-libgcrypt-1.7.6
> >  + gnutls       3.5.9   out     /gnu/store/jsflzpi7pnc7m5p7cln8bjcma4lsi6hd-gnutls-3.5.D
> >  + guile-json   0.6.0   out     /gnu/store/l2paa4ka8lglar0b778qzl7a6h2v5dzn-guile-json-0.6.0
> >  + zlib 1.2.11  out     /gnu/store/jwkcd7siv6fcyl0qsg607bg9c8ap0gqr-zlib-1.2.11
> >  + bzip2        1.0.6   out     /gnu/store/s3c442d075fc8a0q0nspc9jjsgjq613p-bzip2-1.0.6
> >  + sqlite       3.17.0  out     /gnu/store/dcc4b6r7npjmhdsah1g6nw1j9wdy635y-sqlite-3.17.0
> >  + help2man     1.47.4  out     /gnu/store/29gzpcqwj9x4lxpjl86wqy695dsr6xlm-help2man-1.47.4
> > 
> > GUILE_LOAD_PATH just started appearing in the env when I installed guile modules.
> > 
> > Where is the mistake?
> > 
> 
> It's probably not related, but the master (GuixSD running from git) assumes that
> the 'machines.scm' should be in /usr/local/etc/guix/  where also the generated files
> from guix archive --generate ended up. I changed nothing in the past, my guix is
> configured the 'normal' way with localstatedir=/var
> 

And this is from master running an offloading test as it is right now.
Both ends have GuixSD.

user@abyayala ~$ guix offload test
guix offload: testing 1 build machines defined in '/usr/local/etc/guix/machines.scm'...
guix offload: '192.168.1.179' is running guile (GNU Guile) 2.2.2
Backtrace:
           7 (primitive-load "/gnu/store/js4ml3w20ysh4znp9wl0da0ljji…")
In guix/ui.scm:
   1321:8  6 (run-guix-command _ . _)
In ice-9/boot-9.scm:
    837:9  5 (catch srfi-34 #<procedure 1cc6cc0 at guix/ui.scm:450:…> …)
    837:9  4 (catch system-error #<procedure 1cc6ce0 at guix/script…> …)
In guix/scripts/offload.scm:
    611:6  3 (check-machine-availability _ _)
In srfi/srfi-1.scm:
   656:11  2 (for-each #<procedure assert-node-has-guix (node name)> …)
In guix/scripts/offload.scm:
    543:2  1 (assert-node-has-guix #<node [email-masked]:22555/…> …)
In ssh/dist/node.scm:
    397:8  0 (node-eval #<node [email-masked]:22555/37146 1ceaa…> …)

ssh/dist/node.scm:397:8: In procedure node-eval:
ssh/dist/node.scm:397:8: Throw to key `node-repl-error' with args `("Evaluation failed" "scheme@(guile-user)> While compiling expression:\nERROR: no code for module (guix)" ())'.

-- 
ng0
OpenPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
https://krosos.org/~/ng0/ https://www.infotropique.org