unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#27386: offloading documentation and env
@ 2017-06-15 17:05 ng0
  2017-06-15 21:11 ` ng0
  0 siblings, 1 reply; 30+ messages in thread
From: ng0 @ 2017-06-15 17:05 UTC (permalink / raw)
  To: 27386

[-- Attachment #1: Type: text/plain, Size: 597 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-15 17:05 bug#27386: offloading documentation and env ng0
@ 2017-06-15 21:11 ` ng0
  2017-06-15 22:19   ` ng0
  0 siblings, 1 reply; 30+ messages in thread
From: ng0 @ 2017-06-15 21:11 UTC (permalink / raw)
  To: 27386

[-- Attachment #1: Type: text/plain, Size: 5390 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?


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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-15 21:11 ` ng0
@ 2017-06-15 22:19   ` ng0
  2017-06-15 22:34     ` ng0
  0 siblings, 1 reply; 30+ messages in thread
From: ng0 @ 2017-06-15 22:19 UTC (permalink / raw)
  To: 27386

[-- Attachment #1: Type: text/plain, Size: 5940 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


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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-15 22:19   ` ng0
@ 2017-06-15 22:34     ` ng0
  2017-06-26 19:56       ` Ludovic Courtès
  0 siblings, 1 reply; 30+ messages in thread
From: ng0 @ 2017-06-15 22:34 UTC (permalink / raw)
  To: 27386

[-- Attachment #1: Type: text/plain, Size: 7425 bytes --]

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 user@192.168.1.179:22555/…> …)
In ssh/dist/node.scm:
    397:8  0 (node-eval #<node user@192.168.1.179: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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-15 22:34     ` ng0
@ 2017-06-26 19:56       ` Ludovic Courtès
  2017-06-26 21:15         ` ng0
  0 siblings, 1 reply; 30+ messages in thread
From: Ludovic Courtès @ 2017-06-26 19:56 UTC (permalink / raw)
  To: 27386

ng0 <ng0@infotropique.org> skribis:

> 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 user@192.168.1.179:22555/…> …)
> In ssh/dist/node.scm:
>     397:8  0 (node-eval #<node user@192.168.1.179: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)" ())'.

This means that you need to make sure that the target machine has (guix)
in its load path.

The test is to run something like:

  $ ssh localhost env |grep GUILE_
  GUILE_LOAD_COMPILED_PATH=/home/ludo/.guix-profile/lib/guile/2.2/site-ccache:/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2
  GUILE_LOAD_PATH=/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/share/guile/site/2.2

and you should see /run/current-system/profile/share/guile/site/2.2.  If
not, you’ll have to add it somehow.

(It’s unfortunate that setting up offloading remains error-prone, but
that’s a different story!).

HTH,
Ludo’.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-26 19:56       ` Ludovic Courtès
@ 2017-06-26 21:15         ` ng0
  2017-06-27 13:39           ` Ludovic Courtès
  0 siblings, 1 reply; 30+ messages in thread
From: ng0 @ 2017-06-26 21:15 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 27386

[-- Attachment #1: Type: text/plain, Size: 3149 bytes --]

Ludovic Courtès transcribed 2.1K bytes:
> ng0 <ng0@infotropique.org> skribis:
> 
> > 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 user@192.168.1.179:22555/…> …)
> > In ssh/dist/node.scm:
> >     397:8  0 (node-eval #<node user@192.168.1.179: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)" ())'.
> 
> This means that you need to make sure that the target machine has (guix)
> in its load path.

I assume that you have read the rest of my messages and not just skipped
through them. I thought my messages were clear that (guix) is in the
loadpath, but only *locally* on the machine, not when connecting to it
via ssh. It can be in my users loadpath, but the ssh environment is
different. Comparable to how you only get scp when you put
openssh into the global (packages) and this is also mentioned nowhere.

In other words: What you get in the loadpath when you are a local user,
logged in, differs from what you get in the loadpath when you want to
get the loadpath directly from an command run through ssh connection.

So I'm guessing here: the not so obvious yet very obvious solution is to
put guix into the global (packages)?
Where global means the canonical /etc/config.scm

> The test is to run something like:
> 
>   $ ssh localhost env |grep GUILE_
>   GUILE_LOAD_COMPILED_PATH=/home/ludo/.guix-profile/lib/guile/2.2/site-ccache:/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2
>   GUILE_LOAD_PATH=/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/share/guile/site/2.2
> 
> and you should see /run/current-system/profile/share/guile/site/2.2.  If
> not, you’ll have to add it somehow.
> 
> (It’s unfortunate that setting up offloading remains error-prone, but
> that’s a different story!).
> 
> HTH,
> Ludo’.

-- 
ng0
OpenPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
infotropique: https://www.infotropique.org
personal: https://ng-0.github.io https://krosos.org/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-26 21:15         ` ng0
@ 2017-06-27 13:39           ` Ludovic Courtès
  2017-06-27 14:54             ` ng0
  2017-09-28 19:40             ` Divan Santana
  0 siblings, 2 replies; 30+ messages in thread
From: Ludovic Courtès @ 2017-06-27 13:39 UTC (permalink / raw)
  To: 27386

ng0 <ng0@infotropique.org> skribis:

> Ludovic Courtès transcribed 2.1K bytes:
>> ng0 <ng0@infotropique.org> skribis:
>> 
>> > 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 user@192.168.1.179:22555/…> …)
>> > In ssh/dist/node.scm:
>> >     397:8  0 (node-eval #<node user@192.168.1.179: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)" ())'.
>> 
>> This means that you need to make sure that the target machine has (guix)
>> in its load path.
>
> I assume that you have read the rest of my messages and not just skipped
> through them. I thought my messages were clear that (guix) is in the
> loadpath, but only *locally* on the machine, not when connecting to it
> via ssh.

Right, this is why I suggested testing that *with a non-interactive
connection*, as in:

  ssh HOST env | grep GUILE

> So I'm guessing here: the not so obvious yet very obvious solution is to
> put guix into the global (packages)?
> Where global means the canonical /etc/config.scm

On GuixSD, Guix is always in the global profile.

>> The test is to run something like:
>> 
>>   $ ssh localhost env |grep GUILE_
>>   GUILE_LOAD_COMPILED_PATH=/home/ludo/.guix-profile/lib/guile/2.2/site-ccache:/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2
>>   GUILE_LOAD_PATH=/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/share/guile/site/2.2
>> 
>> and you should see /run/current-system/profile/share/guile/site/2.2.  If
>> not, you’ll have to add it somehow.

What does the above give for you?

HTH,
Ludo’.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-27 13:39           ` Ludovic Courtès
@ 2017-06-27 14:54             ` ng0
  2017-06-27 19:38               ` Ludovic Courtès
  2017-09-28 19:40             ` Divan Santana
  1 sibling, 1 reply; 30+ messages in thread
From: ng0 @ 2017-06-27 14:54 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 27386

[-- Attachment #1: Type: text/plain, Size: 3612 bytes --]

Ludovic Courtès transcribed 2.8K bytes:
> ng0 <ng0@infotropique.org> skribis:
> 
> > Ludovic Courtès transcribed 2.1K bytes:
> >> ng0 <ng0@infotropique.org> skribis:
> >> 
> >> > 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 user@192.168.1.179:22555/…> …)
> >> > In ssh/dist/node.scm:
> >> >     397:8  0 (node-eval #<node user@192.168.1.179: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)" ())'.
> >> 
> >> This means that you need to make sure that the target machine has (guix)
> >> in its load path.
> >
> > I assume that you have read the rest of my messages and not just skipped
> > through them. I thought my messages were clear that (guix) is in the
> > loadpath, but only *locally* on the machine, not when connecting to it
> > via ssh.
> 
> Right, this is why I suggested testing that *with a non-interactive
> connection*, as in:
> 
>   ssh HOST env | grep GUILE
> 
> > So I'm guessing here: the not so obvious yet very obvious solution is to
> > put guix into the global (packages)?
> > Where global means the canonical /etc/config.scm
> 
> On GuixSD, Guix is always in the global profile.
> 
> >> The test is to run something like:
> >> 
> >>   $ ssh localhost env |grep GUILE_
> >>   GUILE_LOAD_COMPILED_PATH=/home/ludo/.guix-profile/lib/guile/2.2/site-ccache:/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2
> >>   GUILE_LOAD_PATH=/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/share/guile/site/2.2
> >> 
> >> and you should see /run/current-system/profile/share/guile/site/2.2.  If
> >> not, you’ll have to add it somehow.
> 
> What does the above give for you?
> 
> HTH,
> Ludo’.

This is issued from computer A (abyayala) to computer B (shadownet).

user@abyayala ~$ ssh shadownet env |grep GUILE_
GUILE_LOAD_COMPILED_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/lib/guile/2.2/site-ccache:/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/share/guile/site/2.2
GUILE_LOAD_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/share/guile/site/2.2

I would have to put some ssh private keys on there or
configure sshd in a different way to issue this locally
on computer B.
-- 
ng0
OpenPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
infotropique: https://www.infotropique.org
personal: https://ng-0.github.io https://krosos.org/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-27 14:54             ` ng0
@ 2017-06-27 19:38               ` Ludovic Courtès
  2017-06-27 20:31                 ` ng0
  0 siblings, 1 reply; 30+ messages in thread
From: Ludovic Courtès @ 2017-06-27 19:38 UTC (permalink / raw)
  To: 27386

ng0 <ng0@infotropique.org> skribis:

> Ludovic Courtès transcribed 2.8K bytes:

[...]

>> >> The test is to run something like:
>> >> 
>> >>   $ ssh localhost env |grep GUILE_
>> >>   GUILE_LOAD_COMPILED_PATH=/home/ludo/.guix-profile/lib/guile/2.2/site-ccache:/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2
>> >>   GUILE_LOAD_PATH=/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/share/guile/site/2.2
>> >> 
>> >> and you should see /run/current-system/profile/share/guile/site/2.2.  If
>> >> not, you’ll have to add it somehow.
>> 
>> What does the above give for you?
>> 
>> HTH,
>> Ludo’.
>
> This is issued from computer A (abyayala) to computer B (shadownet).
>
> user@abyayala ~$ ssh shadownet env |grep GUILE_
> GUILE_LOAD_COMPILED_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/lib/guile/2.2/site-ccache:/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/share/guile/site/2.2
> GUILE_LOAD_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/share/guile/site/2.2

The problem here is that
/run/current-system/profile/share/guile/site/2.2, which is where the
Guix modules are on GuixSD as I wrote above, is missing from the search
path.

The session started when you run “ssh shadownet env” does not spawn a
login shell; thus ~/.profile and similar are *not* sourced.  I’m using
Bash, so on my accounts, I have this in .bashrc (‘.bashrc’ is for
non-login shells):

--8<---------------cut here---------------start------------->8---
if [ -n "$SSH_CLIENT" -a -z "`type -P cat`" ]
then
    # We are being invoked from a non-interactive SSH session
    # (as in "ssh host command") but 'cat' cannot be found
    # in $PATH.  Source /etc/profile so we get $PATH and other
    # essential variables.
    source /etc/profile
fi
--8<---------------cut here---------------end--------------->8---

That way, “ssh HOST COMMAND” effectively gets the same environment as a
login shell.

If you’re using a different shell, then make sure its startup file does
something similar.

HTH!

Ludo’.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-27 19:38               ` Ludovic Courtès
@ 2017-06-27 20:31                 ` ng0
  2017-06-28  8:31                   ` Ludovic Courtès
  0 siblings, 1 reply; 30+ messages in thread
From: ng0 @ 2017-06-27 20:31 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 27386

[-- Attachment #1: Type: text/plain, Size: 2931 bytes --]

Ludovic Courtès transcribed 2.2K bytes:
> ng0 <ng0@infotropique.org> skribis:
> 
> > Ludovic Courtès transcribed 2.8K bytes:
> 
> [...]
> 
> >> >> The test is to run something like:
> >> >> 
> >> >>   $ ssh localhost env |grep GUILE_
> >> >>   GUILE_LOAD_COMPILED_PATH=/home/ludo/.guix-profile/lib/guile/2.2/site-ccache:/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2
> >> >>   GUILE_LOAD_PATH=/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/share/guile/site/2.2
> >> >> 
> >> >> and you should see /run/current-system/profile/share/guile/site/2.2.  If
> >> >> not, you’ll have to add it somehow.
> >> 
> >> What does the above give for you?
> >> 
> >> HTH,
> >> Ludo’.
> >
> > This is issued from computer A (abyayala) to computer B (shadownet).
> >
> > user@abyayala ~$ ssh shadownet env |grep GUILE_
> > GUILE_LOAD_COMPILED_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/lib/guile/2.2/site-ccache:/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/share/guile/site/2.2
> > GUILE_LOAD_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/share/guile/site/2.2
> 
> The problem here is that
> /run/current-system/profile/share/guile/site/2.2, which is where the
> Guix modules are on GuixSD as I wrote above, is missing from the search
> path.
> 
> The session started when you run “ssh shadownet env” does not spawn a
> login shell; thus ~/.profile and similar are *not* sourced.  I’m using

I was aware of this, but I thought we had (guix) available nevertheless
and I was just pushing the wrong buttons.

> Bash, so on my accounts, I have this in .bashrc (‘.bashrc’ is for
> non-login shells):
> 
> --8<---------------cut here---------------start------------->8---
> if [ -n "$SSH_CLIENT" -a -z "`type -P cat`" ]
> then
>     # We are being invoked from a non-interactive SSH session
>     # (as in "ssh host command") but 'cat' cannot be found
>     # in $PATH.  Source /etc/profile so we get $PATH and other
>     # essential variables.
>     source /etc/profile
> fi
> --8<---------------cut here---------------end--------------->8---
> 
> That way, “ssh HOST COMMAND” effectively gets the same environment as a
> login shell.

I use the same on this computer, but at the end of it I source some
files, among them ~/.guix-profile/etc/profile

I would guess that sourcing ~/.guix-profile/etc/profile gets into
the way and that moving this to .bash_profile could fix the issue.

What do you think?

> If you’re using a different shell, then make sure its startup file does
> something similar.
> 
> HTH!
> 
> Ludo’.
> 
> 
> 
> 

-- 
ng0
OpenPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
infotropique: https://www.infotropique.org
personal: https://ng-0.github.io https://krosos.org/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-27 20:31                 ` ng0
@ 2017-06-28  8:31                   ` Ludovic Courtès
  2017-06-28 11:45                     ` ng0
  0 siblings, 1 reply; 30+ messages in thread
From: Ludovic Courtès @ 2017-06-28  8:31 UTC (permalink / raw)
  To: 27386

ng0 <ng0@infotropique.org> skribis:

> Ludovic Courtès transcribed 2.2K bytes:
>> ng0 <ng0@infotropique.org> skribis:
>> 
>> > Ludovic Courtès transcribed 2.8K bytes:

[...]

>> The problem here is that
>> /run/current-system/profile/share/guile/site/2.2, which is where the
>> Guix modules are on GuixSD as I wrote above, is missing from the search
>> path.
>> 
>> The session started when you run “ssh shadownet env” does not spawn a
>> login shell; thus ~/.profile and similar are *not* sourced.  I’m using
>
> I was aware of this, but I thought we had (guix) available nevertheless
> and I was just pushing the wrong buttons.
>
>> Bash, so on my accounts, I have this in .bashrc (‘.bashrc’ is for
>> non-login shells):
>> 
>> --8<---------------cut here---------------start------------->8---
>> if [ -n "$SSH_CLIENT" -a -z "`type -P cat`" ]
>> then
>>     # We are being invoked from a non-interactive SSH session
>>     # (as in "ssh host command") but 'cat' cannot be found
>>     # in $PATH.  Source /etc/profile so we get $PATH and other
>>     # essential variables.
>>     source /etc/profile
>> fi
>> --8<---------------cut here---------------end--------------->8---
>> 
>> That way, “ssh HOST COMMAND” effectively gets the same environment as a
>> login shell.
>
> I use the same on this computer, but at the end of it I source some
> files, among them ~/.guix-profile/etc/profile
>
> I would guess that sourcing ~/.guix-profile/etc/profile gets into
> the way and that moving this to .bash_profile could fix the issue.
>
> What do you think?

~/.guix-profile/etc/profile won't add /run/current-system/… to the
search path.  You really need to source /etc/profile, which in turn will
source ~/.guix-profile/etc/profile (on GuixSD).

HTH,
Ludo’.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-28  8:31                   ` Ludovic Courtès
@ 2017-06-28 11:45                     ` ng0
  2017-06-28 21:46                       ` Ludovic Courtès
  0 siblings, 1 reply; 30+ messages in thread
From: ng0 @ 2017-06-28 11:45 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 27386

[-- Attachment #1: Type: text/plain, Size: 3678 bytes --]

Ludovic Courtès transcribed 1.8K bytes:
> ng0 <ng0@infotropique.org> skribis:
> 
> > Ludovic Courtès transcribed 2.2K bytes:
> >> ng0 <ng0@infotropique.org> skribis:
> >> 
> >> > Ludovic Courtès transcribed 2.8K bytes:
> 
> [...]
> 
> >> The problem here is that
> >> /run/current-system/profile/share/guile/site/2.2, which is where the
> >> Guix modules are on GuixSD as I wrote above, is missing from the search
> >> path.
> >> 
> >> The session started when you run “ssh shadownet env” does not spawn a
> >> login shell; thus ~/.profile and similar are *not* sourced.  I’m using
> >
> > I was aware of this, but I thought we had (guix) available nevertheless
> > and I was just pushing the wrong buttons.
> >
> >> Bash, so on my accounts, I have this in .bashrc (‘.bashrc’ is for
> >> non-login shells):
> >> 
> >> --8<---------------cut here---------------start------------->8---
> >> if [ -n "$SSH_CLIENT" -a -z "`type -P cat`" ]
> >> then
> >>     # We are being invoked from a non-interactive SSH session
> >>     # (as in "ssh host command") but 'cat' cannot be found
> >>     # in $PATH.  Source /etc/profile so we get $PATH and other
> >>     # essential variables.
> >>     source /etc/profile
> >> fi
> >> --8<---------------cut here---------------end--------------->8---
> >> 
> >> That way, “ssh HOST COMMAND” effectively gets the same environment as a
> >> login shell.
> >
> > I use the same on this computer, but at the end of it I source some
> > files, among them ~/.guix-profile/etc/profile
> >
> > I would guess that sourcing ~/.guix-profile/etc/profile gets into
> > the way and that moving this to .bash_profile could fix the issue.
> >
> > What do you think?
> 
> ~/.guix-profile/etc/profile won't add /run/current-system/… to the
> search path.  You really need to source /etc/profile, which in turn will
> source ~/.guix-profile/etc/profile (on GuixSD).
> 
> HTH,
> Ludo’.

I think the method as described never really worked.

When I do as you (and the manual) suggested, I no longer
have any results for ssh host env | grep "GUILE_".

When I extend it like this it works. I include the full
paste to show that previously I had the sourcing of /etc/profile
in it:

user@shadownet ~$ cat .bashrc
# Bash initialization for interactive non-login shells and
# for remote shells (info "(bash) Bash Startup Files").

# Export 'SHELL' to child processes.  Programs such as 'screen'
# honor it and otherwise use /bin/sh.
export SHELL

if [ -n "$SSH_CLIENT" -a -z "`type -P cat`" ]
then
    # We are being invoked from a non-interactive SSH session
    # (as in "ssh host command") but 'cat' cannot be found
    # in $PATH.  Source /etc/profile so we get $PATH and other
    # essential variables.
    source /etc/profile
fi

# Adjust the prompt depending on whether we're in 'guix environment'.
if [ -n "$GUIX_ENVIRONMENT" ]
then
    PS1='\u@\h \w [env]\$ '
else
    PS1='\u@\h \w\$ '
fi
source ~/.guix-profile/etc/profile
alias ls='ls -p --color'
alias ll='ls -l'
GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}:/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2"
GUILE_LOAD_PATH="${GUILE_LOAD_PATH}:/run/current-system/profile/share/guile/site/2.2"


I suggest that we fix the offloading documentation.
If questions are asked (I'm not the first) there are obviously problems
with how it is written.
If no one else takes on this, I will.
-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://n0is.noblogs.org/my-keys
infotropique: https://www.infotropique.org

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-28 11:45                     ` ng0
@ 2017-06-28 21:46                       ` Ludovic Courtès
  2017-06-28 22:36                         ` ng0
  0 siblings, 1 reply; 30+ messages in thread
From: Ludovic Courtès @ 2017-06-28 21:46 UTC (permalink / raw)
  To: 27386

ng0 <ng0@infotropique.org> skribis:

> I think the method as described never really worked.
>
> When I do as you (and the manual) suggested, I no longer
> have any results for ssh host env | grep "GUILE_".
>
> When I extend it like this it works. I include the full
> paste to show that previously I had the sourcing of /etc/profile
> in it:
>
> user@shadownet ~$ cat .bashrc
> # Bash initialization for interactive non-login shells and
> # for remote shells (info "(bash) Bash Startup Files").
>
> # Export 'SHELL' to child processes.  Programs such as 'screen'
> # honor it and otherwise use /bin/sh.
> export SHELL
>
> if [ -n "$SSH_CLIENT" -a -z "`type -P cat`" ]
> then
>     # We are being invoked from a non-interactive SSH session
>     # (as in "ssh host command") but 'cat' cannot be found
>     # in $PATH.  Source /etc/profile so we get $PATH and other
>     # essential variables.
>     source /etc/profile
> fi
>
> # Adjust the prompt depending on whether we're in 'guix environment'.
> if [ -n "$GUIX_ENVIRONMENT" ]
> then
>     PS1='\u@\h \w [env]\$ '
> else
>     PS1='\u@\h \w\$ '
> fi
> source ~/.guix-profile/etc/profile
> alias ls='ls -p --color'
> alias ll='ls -l'
> GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}:/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2"
> GUILE_LOAD_PATH="${GUILE_LOAD_PATH}:/run/current-system/profile/share/guile/site/2.2"

The difference compared to /etc/skel/.bashrc is the last two lines,
right?

On my GuixSD installation they’re not needed because /etc/profile
sources /run/current-system/profile/etc/profile, which already defines
these two variables.

But maybe your global profile is slightly different from mine, which
would explain this.  FWIW I have:

--8<---------------cut here---------------start------------->8---
$ guix package -I gui -p /run/current-system/profile
guix	0.13.0-2.de9d8f0	out	/gnu/store/js4ml3w20ysh4znp9wl0da0ljji4kisl-guix-0.13.0-2.de9d8f0
guile	2.2.2	out	/gnu/store/5zx29y44nrqj0s8h3jlvlj82k8hj4dxs-guile-2.2.2
--8<---------------cut here---------------end--------------->8---

Anyway, if you have ideas on how to improve the doc, they’re welcome.

Thanks for your feedback!

Ludo’.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-28 21:46                       ` Ludovic Courtès
@ 2017-06-28 22:36                         ` ng0
  2017-06-29 11:50                           ` Ludovic Courtès
  0 siblings, 1 reply; 30+ messages in thread
From: ng0 @ 2017-06-28 22:36 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 27386

[-- Attachment #1: Type: text/plain, Size: 5055 bytes --]

Ludovic Courtès transcribed 2.2K bytes:
> ng0 <ng0@infotropique.org> skribis:
> 
> > I think the method as described never really worked.
> >
> > When I do as you (and the manual) suggested, I no longer
> > have any results for ssh host env | grep "GUILE_".
> >
> > When I extend it like this it works. I include the full
> > paste to show that previously I had the sourcing of /etc/profile
> > in it:
> >
> > user@shadownet ~$ cat .bashrc
> > # Bash initialization for interactive non-login shells and
> > # for remote shells (info "(bash) Bash Startup Files").
> >
> > # Export 'SHELL' to child processes.  Programs such as 'screen'
> > # honor it and otherwise use /bin/sh.
> > export SHELL
> >
> > if [ -n "$SSH_CLIENT" -a -z "`type -P cat`" ]
> > then
> >     # We are being invoked from a non-interactive SSH session
> >     # (as in "ssh host command") but 'cat' cannot be found
> >     # in $PATH.  Source /etc/profile so we get $PATH and other
> >     # essential variables.
> >     source /etc/profile
> > fi
> >
> > # Adjust the prompt depending on whether we're in 'guix environment'.
> > if [ -n "$GUIX_ENVIRONMENT" ]
> > then
> >     PS1='\u@\h \w [env]\$ '
> > else
> >     PS1='\u@\h \w\$ '
> > fi
> > source ~/.guix-profile/etc/profile
> > alias ls='ls -p --color'
> > alias ll='ls -l'
> > GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}:/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2"
> > GUILE_LOAD_PATH="${GUILE_LOAD_PATH}:/run/current-system/profile/share/guile/site/2.2"
> 
> The difference compared to /etc/skel/.bashrc is the last two lines,
> right?

Yes. And that I source ~/.guix-profile/etc/profile before those lines.

> On my GuixSD installation they’re not needed because /etc/profile
> sources /run/current-system/profile/etc/profile, which already defines
> these two variables.

Well this file is the same on both systems involved:

user@abyayala ~$ cat /etc/profile
# Crucial variables that could be missing in the profiles' 'etc/profile'
# because they would require combining both profiles.
# FIXME: See <http://bugs.gnu.org/20255>.
export MANPATH=$HOME/.guix-profile/share/man:/run/current-system/profile/share/man
export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share/info
export XDG_DATA_DIRS=$HOME/.guix-profile/share:/run/current-system/profile/share
export XDG_CONFIG_DIRS=$HOME/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg

# Ignore the default value of 'PATH'.
unset PATH

# Load the system profile's settings.
GUIX_PROFILE=/run/current-system/profile \
. /run/current-system/profile/etc/profile

# Prepend setuid programs.
export PATH=/run/setuid-programs:$PATH

# Since 'lshd' does not use pam_env, /etc/environment must be explicitly
# loaded when someone logs in via SSH.  See <http://bugs.gnu.org/22175>.
# We need 'PATH' to be defined here, for 'cat' and 'cut'.  Do this before
# reading the user's 'etc/profile' to allow variables to be overridden.
if [ -f /etc/environment -a -n "$SSH_CLIENT" \
     -a -z "$LINUX_MODULE_DIRECTORY" ]
then
  . /etc/environment
  export `cat /etc/environment | cut -d= -f1`
fi

if [ -f "$HOME/.guix-profile/etc/profile" ]
then
  # Load the user profile's settings.
  GUIX_PROFILE="$HOME/.guix-profile" \
  . "$HOME/.guix-profile/etc/profile"
else
  # At least define this one so that basic things just work
  # when the user installs their first package.
  export PATH="$HOME/.guix-profile/bin:$PATH"
fi

# Set the umask, notably for users logging in via 'lsh'.
# See <http://bugs.gnu.org/22650>.
umask 022

# Allow GStreamer-based applications to find plugins.
export GST_PLUGIN_PATH="$HOME/.guix-profile/lib/gstreamer-1.0"

if [ -n "$BASH_VERSION" -a -f /etc/bashrc ]
then
  # Load Bash-specific initialization code.
  . /etc/bashrc
fi


> But maybe your global profile is slightly different from mine, which
> would explain this.  FWIW I have:
> 
> --8<---------------cut here---------------start------------->8---
> $ guix package -I gui -p /run/current-system/profile
> guix	0.13.0-2.de9d8f0	out	/gnu/store/js4ml3w20ysh4znp9wl0da0ljji4kisl-guix-0.13.0-2.de9d8f0
> guile	2.2.2	out	/gnu/store/5zx29y44nrqj0s8h3jlvlj82k8hj4dxs-guile-2.2.2
> --8<---------------cut here---------------end--------------->8---

user@shadownet ~$ guix package -I gui -p /run/current-system/profile
guix	0.13.0-2.de9d8f0	out	/gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0
guile	2.2.2	out	/gnu/store/1pzfigry5bnh3n146w0ib77vkd2g6jdc-guile-2.2.2

So it is not different.
The system in use is this: https://gitlab.com/ng0/systems/blob/master/servers/pragmatique/shadownet.scm

> Anyway, if you have ideas on how to improve the doc, they’re welcome.
> 
> Thanks for your feedback!
> 
> Ludo’.
-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://n0is.noblogs.org/my-keys
infotropique: https://www.infotropique.org

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-28 22:36                         ` ng0
@ 2017-06-29 11:50                           ` Ludovic Courtès
  2017-07-04 13:51                             ` Oleg Pykhalov
  0 siblings, 1 reply; 30+ messages in thread
From: Ludovic Courtès @ 2017-06-29 11:50 UTC (permalink / raw)
  To: 27386

ng0 <ng0@infotropique.org> skribis:

> Ludovic Courtès transcribed 2.2K bytes:

[...]

>> > GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}:/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2"
>> > GUILE_LOAD_PATH="${GUILE_LOAD_PATH}:/run/current-system/profile/share/guile/site/2.2"
>> 
>> The difference compared to /etc/skel/.bashrc is the last two lines,
>> right?
>
> Yes. And that I source ~/.guix-profile/etc/profile before those lines.
>
>> On my GuixSD installation they’re not needed because /etc/profile
>> sources /run/current-system/profile/etc/profile, which already defines
>> these two variables.
>
> Well this file is the same on both systems involved:
>
> user@abyayala ~$ cat /etc/profile

And does /run/current-system/profile/etc/profile define GUILE_LOAD_PATH?

Ludo'.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-29 11:50                           ` Ludovic Courtès
@ 2017-07-04 13:51                             ` Oleg Pykhalov
  2017-07-04 15:43                               ` Oleg Pykhalov
  2017-07-04 21:36                               ` Ludovic Courtès
  0 siblings, 2 replies; 30+ messages in thread
From: Oleg Pykhalov @ 2017-07-04 13:51 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 27386

Hi,

I'm trying to setup offloading too.  Just for the report I had an issue
after setting up `%load-path` for guile with `.bashrc` snippet.  It
seems that also required call `guix build` with `--substitute-urls=HOST`
because without it I get `acquired build slot` loop like in
https://lists.gnu.org/archive/html/guix-devel/2015-05/msg00035.html

~/.bashrc on magnolia.local
if [ -n "$SSH_CLIENT" -a "`type -P guile`" ]
then
    source /etc/profile
fi

natsu@clover ~$ guix offload test
guix offload: testing 1 build machines defined in '/etc/guix/machines.scm'...
guix offload: 'magnolia.local' is running guile (GNU Guile) 2.2.2
guix offload: Guix is usable on 'magnolia.local' (test returned "/gnu/store/883yjkl46dxw9mzykykmbs0yzwyxm17z-test")
sending 1 store item to 'magnolia.local'...
exporting path `/gnu/store/j1xdys0rk60czdfv9riwykdh7iqdhszi-export-test'
guix offload: 'magnolia.local' successfully imported '/gnu/store/j1xdys0rk60czdfv9riwykdh7iqdhszi-export-test'
retrieving 1 store item from 'magnolia.local'...
guix offload: successfully imported '/gnu/store/ij4z815jpvrsmnf2awvmfw8w44vh7ndw-import-test' from 'magnolia.local'

natsu@clover ~$ guix build blender
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
waiting for locks or build slots...
process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
  C-c C-c

natsu@clover ~$ ssh magnolia.local cat /proc/loadavg
0.03 0.01 0.00 1/186 2660

natsu@clover ~$ ssh magnolia.local guix package -I gui -p /run/current-system/profile
guile-ssh	0.11.0	out	/gnu/store/pzhi01qhc19v5xzfgjbqybnbsd7inicx-guile-ssh-0.11.0
guix	0.13.0-2.de9d8f0	out	/gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0
guile	2.2.2	out	/gnu/store/1pzfigry5bnh3n146w0ib77vkd2g6jdc-guile-2.2.2
emacs-guix	0.3.1	out	/gnu/store/3ahyhf5fp6jvvln0xw0v1bjka1z6i69m-emacs-guix-0.3.1

natsu@clover ~$ guix build --substitute-urls='http://magnolia.local https://mirror.hydra.gnu.org https://hydra.gnu.org' blender
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'http://magnolia.local'... 100.0%
substitute: updating list of substitutes from 'http://magnolia.local'... 100.0%
substitute: updating list of substitutes from 'http://magnolia.local'... 100.0%
updating list of substitutes from 'http://magnolia.local'... 100.0%
substitute: updating list of substitutes from 'http://magnolia.local'... 100.0%
substitute: updating list of substitutes from 'https://hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'http://magnolia.local'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
updating list of substitutes from 'https://hydra.gnu.org'... 100.0%
The following derivations will be built:
   /gnu/store/gkxd3c7pncy0pw8gz6b4w2h4yna5b0qr-blender-2.78a.drv
   /gnu/store/4lcmay4nyk9j3v86wpvvncmy1qkzb6lz-fftw-3.3.5.drv
   /gnu/store/as3s0ip004kjnkppkp1i56gaakhzcxq1-openimageio-1.6.15.drv
   /gnu/store/v9m0icyrwdbn6wq5bncpz5cw7ng3p4dm-ffmpeg-2.8.12.drv
   /gnu/store/yw10vy3i1anmwlgg38hwjn2wxica03cx-jemalloc-4.5.0.drv
51.4 MB will be downloaded:
   /gnu/store/78dbbi0hqx7irsqcmjzk1xrfh1q8r5ln-jemalloc-4.5.0
   /gnu/store/885wcx1sxbqg9f40900xzjpgm9c4lb4i-blender-2.78a
substitute: updating list of substitutes from 'http://magnolia.local'... 100.0%
substitute: updating list of substitutes from 'https://hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'http://magnolia.local'... 100.0%
substitute: updating list of substitutes from 'https://hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'http://magnolia.local'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://hydra.gnu.org'... 100.0%
@ substituter-started /gnu/store/78dbbi0hqx7irsqcmjzk1xrfh1q8r5ln-jemalloc-4.5.0 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/libexec/guix/substitute
updating list of substitutes from 'https://hydra.gnu.org'... 100.0%
Downloading https://hydra.gnu.org/guix/nar/gzip/78dbbi0hqx7irsqcmjzk1xrfh1q8r5ln-jemalloc-4.5.0...
 jemalloc-4.5.0  645KiB                                              758KiB/s 00:01 [####################] 100.0%

@ substituter-succeeded /gnu/store/78dbbi0hqx7irsqcmjzk1xrfh1q8r5ln-jemalloc-4.5.0
@ build-started /gnu/store/v9m0icyrwdbn6wq5bncpz5cw7ng3p4dm-ffmpeg-2.8.12.drv - x86_64-linux /var/log/guix/drvs/v9//m0icyrwdbn6wq5bncpz5cw7ng3p4dm-ffmpeg-2.8.12.drv.bz2
grafting '/gnu/store/sgxg0wprb4bqlnkdfk46rvhq1a0xzfvx-ffmpeg-2.8.12' -> '/gnu/store/ghjryqmclglr8g4jiyyj21g7vdzzj40n-ffmpeg-2.8.12'...
@ build-succeeded /gnu/store/v9m0icyrwdbn6wq5bncpz5cw7ng3p4dm-ffmpeg-2.8.12.drv -
@ substituter-started /gnu/store/885wcx1sxbqg9f40900xzjpgm9c4lb4i-blender-2.78a /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/libexec/guix/substitute
Downloading https://mirror.hydra.gnu.org/guix/nar/gzip/885wcx1sxbqg9f40900xzjpgm9c4lb4i-blender-2.78a...
 blender-2.78a  48.4MiB                                              3.8MiB/s 00:13 [####################] 100.0%

@ substituter-succeeded /gnu/store/885wcx1sxbqg9f40900xzjpgm9c4lb4i-blender-2.78a
@ build-started /gnu/store/4lcmay4nyk9j3v86wpvvncmy1qkzb6lz-fftw-3.3.5.drv - x86_64-linux /var/log/guix/drvs/4l//cmay4nyk9j3v86wpvvncmy1qkzb6lz-fftw-3.3.5.drv.bz2
grafting '/gnu/store/j3pja3bjg7jha04dzhhkb588y3765fql-fftw-3.3.5' -> '/gnu/store/rq8lav2nqxiid8i1v5bml1rq2lfj0lqb-fftw-3.3.5'...
@ build-succeeded /gnu/store/4lcmay4nyk9j3v86wpvvncmy1qkzb6lz-fftw-3.3.5.drv -
@ build-started /gnu/store/yw10vy3i1anmwlgg38hwjn2wxica03cx-jemalloc-4.5.0.drv - x86_64-linux /var/log/guix/drvs/yw//10vy3i1anmwlgg38hwjn2wxica03cx-jemalloc-4.5.0.drv.bz2
grafting '/gnu/store/78dbbi0hqx7irsqcmjzk1xrfh1q8r5ln-jemalloc-4.5.0' -> '/gnu/store/0r54ndf05vigzanx035m78jkackg8z54-jemalloc-4.5.0'...
@ build-succeeded /gnu/store/yw10vy3i1anmwlgg38hwjn2wxica03cx-jemalloc-4.5.0.drv -
@ build-started /gnu/store/as3s0ip004kjnkppkp1i56gaakhzcxq1-openimageio-1.6.15.drv - x86_64-linux /var/log/guix/drvs/as//3s0ip004kjnkppkp1i56gaakhzcxq1-openimageio-1.6.15.drv.bz2
grafting '/gnu/store/ig69hi5lq1zx68hhp6vxkk83bp507ppv-openimageio-1.6.15' -> '/gnu/store/fyi9602hv2wjgcj55qw6f0i6sam854m8-openimageio-1.6.15'...
@ build-succeeded /gnu/store/as3s0ip004kjnkppkp1i56gaakhzcxq1-openimageio-1.6.15.drv -
@ build-started /gnu/store/gkxd3c7pncy0pw8gz6b4w2h4yna5b0qr-blender-2.78a.drv - x86_64-linux /var/log/guix/drvs/gk//xd3c7pncy0pw8gz6b4w2h4yna5b0qr-blender-2.78a.drv.bz2
grafting '/gnu/store/885wcx1sxbqg9f40900xzjpgm9c4lb4i-blender-2.78a' -> '/gnu/store/1q7y82f5af720na9zgsdqm0vyzgszkfb-blender-2.78a'...
@ build-succeeded /gnu/store/gkxd3c7pncy0pw8gz6b4w2h4yna5b0qr-blender-2.78a.drv -
/gnu/store/1q7y82f5af720na9zgsdqm0vyzgszkfb-blender-2.78a

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-07-04 13:51                             ` Oleg Pykhalov
@ 2017-07-04 15:43                               ` Oleg Pykhalov
  2017-07-04 16:02                                 ` Oleg Pykhalov
  2017-07-04 21:36                               ` Ludovic Courtès
  1 sibling, 1 reply; 30+ messages in thread
From: Oleg Pykhalov @ 2017-07-04 15:43 UTC (permalink / raw)
  To: Oleg Pykhalov; +Cc: 27386

Oleg Pykhalov <go.wigust@gmail.com> writes:

> I'm trying to setup offloading too.  Just for the report I had an issue
> after setting up `%load-path` for guile with `.bashrc` snippet.  It
> seems that also required call `guix build` with `--substitute-urls=HOST`
> because without it I get `acquired build slot` loop like in
> https://lists.gnu.org/archive/html/guix-devel/2015-05/msg00035.html

Actually not always works.  Still have an issue with loop.  Client waits
for `/var/guix/offload/magnolia.local/0` but `/var/guix/offload` is
missing on build machine.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-07-04 15:43                               ` Oleg Pykhalov
@ 2017-07-04 16:02                                 ` Oleg Pykhalov
  0 siblings, 0 replies; 30+ messages in thread
From: Oleg Pykhalov @ 2017-07-04 16:02 UTC (permalink / raw)
  To: Oleg Pykhalov; +Cc: 27386

Oleg Pykhalov <go.wigust@gmail.com> writes:

> Oleg Pykhalov <go.wigust@gmail.com> writes:
>
>> I'm trying to setup offloading too.  Just for the report I had an issue
>> after setting up `%load-path` for guile with `.bashrc` snippet.  It
>> seems that also required call `guix build` with `--substitute-urls=HOST`
>> because without it I get `acquired build slot` loop like in
>> https://lists.gnu.org/archive/html/guix-devel/2015-05/msg00035.html
>
> Actually not always works.  Still have an issue with loop.  Client waits
> for `/var/guix/offload/magnolia.local/0` but `/var/guix/offload` is
> missing on build machine.

Ah, stupid me, `/var/guix/offload/magnolia.local/0` is on client.

ls -1R /var/guix/offload
/var/guix/offload:
machine-choice.lock
magnolia.local
magnolia.local.slots.lock

/var/guix/offload/magnolia.local:
0

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-07-04 13:51                             ` Oleg Pykhalov
  2017-07-04 15:43                               ` Oleg Pykhalov
@ 2017-07-04 21:36                               ` Ludovic Courtès
  2017-07-05 17:06                                 ` Oleg Pykhalov
  1 sibling, 1 reply; 30+ messages in thread
From: Ludovic Courtès @ 2017-07-04 21:36 UTC (permalink / raw)
  To: Oleg Pykhalov; +Cc: 27386

Hi,

Oleg Pykhalov <go.wigust@gmail.com> skribis:

> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
> waiting for locks or build slots...
> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
>   C-c C-c

When that happens, could you check how many ‘guix offload’ processes are
running?

Also, are you sure that the build machine is eligible for offloading
(matching system type, normalized load is below 2.0, etc.)?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-07-04 21:36                               ` Ludovic Courtès
@ 2017-07-05 17:06                                 ` Oleg Pykhalov
  2017-07-06  7:33                                   ` Ludovic Courtès
  0 siblings, 1 reply; 30+ messages in thread
From: Oleg Pykhalov @ 2017-07-05 17:06 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 27386

ludo@gnu.org (Ludovic Courtès) writes:

> Hi,
>
> Oleg Pykhalov <go.wigust@gmail.com> skribis:
>
>> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
>> waiting for locks or build slots...
>> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
>> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
>> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
>> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
>> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
>>   C-c C-c
>
> When that happens, could you check how many ‘guix offload’ processes are
> running?
> 
> Also, are you sure that the build machine is eligible for offloading
> (matching system type, normalized load is below 2.0, etc.)?

Yes, machine is totally free for load.

I captured 1 process as I see:
root     23867  4.9  0.9 128648 35656 ?        SLsl 20:01   0:00 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real offload x86_64-linux 0 1 0

Before
======

natsu@clover ~$ ps auxwwww | grep guix
root       341  0.0  0.1  34588  4704 ?        Ss   Jul03   0:00 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon --build-users-group guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
guix-pu+   433  0.0  0.6 121548 25940 ?        Ssl  Jul03   0:00 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real publish -u guix-publish -p 80 -C 3 --nar-path=nar --listen=0.0.0.0
root       476  0.0  0.1  34900  4212 ?        Ss   Jul03   0:00 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon 433                 guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
natsu    10446  2.0 17.0 3342808 671380 ?      Sl   Jul04  30:29 /home/natsu/.guix-profile/bin/icecat
natsu    21472  0.0  3.0 376328 119796 pts/8   Ssl+ 18:59   0:02 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile -L /gnu/store/3ahyhf5fp6jvvln0xw0v1bjka1z6i69m-emacs-guix-0.3.1/share/guile/site/2.2 -C /gnu/store/3ahyhf5fp6jvvln0xw0v1bjka1z6i69m-emacs-guix-0.3.1/lib/guile/2.2/site-ccache -L /home/natsu/.config/guix/latest -C /home/natsu/.config/guix/latest -L /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/share/guile/site/2.2 -C /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/share/guile/site/2.2 --listen=/tmp/emacs-guix-20138f3K/repl-socket -q -L /gnu/store/620x0ky0cyqihnqx3nrjnqj5xw4zvj67-geiser-0.9/share/geiser/guile/
natsu    21479  0.2  3.9 257152 156592 pts/4   Sl   18:59   0:08 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real environment guix
root     21483  0.1  0.2  45420  8744 ?        Ss   18:59   0:06 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon 21479               guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
root     21484  0.0  1.0 126748 42332 ?        Sl   18:59   0:01 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real substitute --query
natsu    23822  0.0  0.0   8168  1464 pts/5    S+   19:59   0:00 grep guix

natsu@clover ~$ ssh magnolia.local 'ps auxwwww | grep guix'
root       426  0.0  0.0  34584  4820 ?        Ss   Jul04   0:00 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon --build-users-group guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
guix-pu+   603  0.0  0.1 219164 44260 ?        SLsl Jul04   0:02 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real publish -u guix-publish -p 80 -C 3 --nar-path=nar --listen=0.0.0.0
root       635  0.0  0.0  35904  5680 ?        Ss   Jul04   0:00 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon 603                 guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
natsu     4056  0.0  0.0   8076  1416 pts/5    S+   Jul04   0:00 tail -f /var/log/guix-daemon.log
natsu    27391  0.0  0.0  17988  3436 ?        Ss   19:59   0:00 bash -c ps auxwwww | grep guix
natsu    27396  0.0  0.0   8164  1540 ?        S    19:59   0:00 grep guix

During
======

natsu@clover ~$ ps auxwwww | grep guix
root       341  0.0  0.1  34588  4704 ?        Ss   Jul03   0:00 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon --build-users-group guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
guix-pu+   433  0.0  0.6 121548 25940 ?        Ssl  Jul03   0:00 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real publish -u guix-publish -p 80 -C 3 --nar-path=nar --listen=0.0.0.0
root       476  0.0  0.1  34900  4212 ?        Ss   Jul03   0:00 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon 433                 guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
natsu    10446  2.0 17.0 3342808 671200 ?      Sl   Jul04  30:30 /home/natsu/.guix-profile/bin/icecat
natsu    21472  0.0  3.0 376328 119796 pts/8   Ssl+ 18:59   0:02 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile -L /gnu/store/3ahyhf5fp6jvvln0xw0v1bjka1z6i69m-emacs-guix-0.3.1/share/guile/site/2.2 -C /gnu/store/3ahyhf5fp6jvvln0xw0v1bjka1z6i69m-emacs-guix-0.3.1/lib/guile/2.2/site-ccache -L /home/natsu/.config/guix/latest -C /home/natsu/.config/guix/latest -L /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/share/guile/site/2.2 -C /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/share/guile/site/2.2 --listen=/tmp/emacs-guix-20138f3K/repl-socket -q -L /gnu/store/620x0ky0cyqihnqx3nrjnqj5xw4zvj67-geiser-0.9/share/geiser/guile/
natsu    21479  0.2  3.9 257152 156592 pts/4   Sl   18:59   0:08 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real environment guix
root     21483  0.1  0.2  45420  8744 ?        Ss   18:59   0:06 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon 21479               guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
root     21484  0.0  1.0 126748 42332 ?        Sl   18:59   0:01 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real substitute --query
natsu    23854 33.7  3.5 236004 138320 pts/4   Sl+  20:01   0:07 /home/natsu/.guix-profile/bin/guile --no-auto-compile /home/natsu/src/guix/scripts/guix build -K t-engine
root     23860  0.7  0.1  36404  6648 ?        Ss   20:01   0:00 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon 23854               guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
root     23862  2.5  0.8 123752 35232 ?        Sl   20:01   0:00 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real substitute --query
root     23867  4.9  0.9 128648 35656 ?        SLsl 20:01   0:00 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real offload x86_64-linux 0 1 0
natsu    23876  0.0  0.0   8168  1556 pts/5    S+   20:01   0:00 grep guix

natsu@clover ~$ ssh magnolia.local 'ps auxwwww | grep guix'
root       426  0.0  0.0  34584  4820 ?        Ss   Jul04   0:00 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon --build-users-group guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
guix-pu+   603  0.0  0.1 219164 44260 ?        SLsl Jul04   0:02 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real publish -u guix-publish -p 80 -C 3 --nar-path=nar --listen=0.0.0.0
root       635  0.0  0.0  35904  5680 ?        Ss   Jul04   0:00 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon 603                 guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
natsu     4056  0.0  0.0   8076  1416 pts/5    S+   Jul04   0:00 tail -f /var/log/guix-daemon.log
natsu    27432  0.0  0.0  17988  3408 ?        Ss   20:01   0:00 bash -c ps auxwwww | grep guix
natsu    27437  0.0  0.0   8164  1476 ?        S    20:01   0:00 grep guix

After
=====

natsu@clover ~$ ps auxwwww | grep guix
root       341  0.0  0.1  34588  4704 ?        Ss   Jul03   0:00 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon --build-users-group guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
guix-pu+   433  0.0  0.6 121548 25940 ?        Ssl  Jul03   0:00 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real publish -u guix-publish -p 80 -C 3 --nar-path=nar --listen=0.0.0.0
root       476  0.0  0.1  34900  4212 ?        Ss   Jul03   0:00 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon 433                 guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
natsu    10446  2.0 16.8 3326416 664492 ?      Sl   Jul04  30:33 /home/natsu/.guix-profile/bin/icecat
natsu    21472  0.0  3.0 376328 119796 pts/8   Ssl+ 18:59   0:02 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile -L /gnu/store/3ahyhf5fp6jvvln0xw0v1bjka1z6i69m-emacs-guix-0.3.1/share/guile/site/2.2 -C /gnu/store/3ahyhf5fp6jvvln0xw0v1bjka1z6i69m-emacs-guix-0.3.1/lib/guile/2.2/site-ccache -L /home/natsu/.config/guix/latest -C /home/natsu/.config/guix/latest -L /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/share/guile/site/2.2 -C /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/share/guile/site/2.2 --listen=/tmp/emacs-guix-20138f3K/repl-socket -q -L /gnu/store/620x0ky0cyqihnqx3nrjnqj5xw4zvj67-geiser-0.9/share/geiser/guile/
natsu    21479  0.2  3.9 257152 156592 pts/4   Sl   18:59   0:08 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real environment guix
root     21483  0.1  0.2  45420  8744 ?        Ss   18:59   0:06 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon 21479               guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
root     21484  0.0  1.0 126748 42332 ?        Sl   18:59   0:01 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real substitute --query
natsu    23922  0.0  0.0   8168  1536 pts/5    S+   20:04   0:00 grep guix

natsu@clover ~$ ssh magnolia.local 'ps auxwwww | grep guix'
root       426  0.0  0.0  34584  4820 ?        Ss   Jul04   0:00 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon --build-users-group guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
guix-pu+   603  0.0  0.1 219164 44260 ?        SLsl Jul04   0:02 /gnu/store/w0jb15z5sa08fzcapvgyii49cygygyx5-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/.guix-real publish -u guix-publish -p 80 -C 3 --nar-path=nar --listen=0.0.0.0
root       635  0.0  0.0  35904  5680 ?        Ss   Jul04   0:00 /gnu/store/nrd0v38d61l8y16vqkb1gws0bw45q885-guix-0.13.0-2.de9d8f0/bin/guix-daemon 603                 guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org
natsu     4056  0.0  0.0   8076  1416 pts/5    S+   Jul04   0:00 tail -f /var/log/guix-daemon.log
natsu    27474  0.0  0.0  17988  3540 ?        Ss   20:04   0:00 bash -c ps auxwwww | grep guix
natsu    27479  0.0  0.0   8164  1472 ?        S    20:04   0:00 grep guix

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-07-05 17:06                                 ` Oleg Pykhalov
@ 2017-07-06  7:33                                   ` Ludovic Courtès
  2017-07-06 13:15                                     ` Oleg Pykhalov
  0 siblings, 1 reply; 30+ messages in thread
From: Ludovic Courtès @ 2017-07-06  7:33 UTC (permalink / raw)
  To: Oleg Pykhalov; +Cc: 27386

Oleg Pykhalov <go.wigust@gmail.com> skribis:

> ludo@gnu.org (Ludovic Courtès) writes:
>
>> Hi,
>>
>> Oleg Pykhalov <go.wigust@gmail.com> skribis:
>>
>>> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
>>> waiting for locks or build slots...
>>> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
>>> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
>>> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
>>> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
>>> process 5294 acquired build slot '/var/guix/offload/magnolia.local/0'
>>>   C-c C-c
>>
>> When that happens, could you check how many ‘guix offload’ processes are
>> running?
>> 
>> Also, are you sure that the build machine is eligible for offloading
>> (matching system type, normalized load is below 2.0, etc.)?
>
> Yes, machine is totally free for load.

Hmm could it be that ‘machine-load’ in (guix scripts offload) always
returns +inf.0, for instance because it fails to run “cat /proc/loadavg”
on the remote machine?  (If it succeeded we would see the message “load
on machine XYZ is N”.)

  https://git.savannah.gnu.org/cgit/guix.git/tree/guix/scripts/offload.scm#n393

What does “ssh USER@magnolia.local -i KEY cat /proc/loadavg” return,
where USER and KEY are those specified in your machines.scm file?

HTH,
Ludo’.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-07-06  7:33                                   ` Ludovic Courtès
@ 2017-07-06 13:15                                     ` Oleg Pykhalov
  2017-07-07 10:00                                       ` Ludovic Courtès
  0 siblings, 1 reply; 30+ messages in thread
From: Oleg Pykhalov @ 2017-07-06 13:15 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 27386

[-- Attachment #1: Type: text/plain, Size: 589 bytes --]

ludo@gnu.org (Ludovic Courtès) writes:

> Hmm could it be that ‘machine-load’ in (guix scripts offload) always
> returns +inf.0, for instance because it fails to run “cat /proc/loadavg”
> on the remote machine?  (If it succeeded we would see the message “load
> on machine XYZ is N”.)
>
>   https://git.savannah.gnu.org/cgit/guix.git/tree/guix/scripts/offload.scm#n393

Can I actually look what is happening somehow?

> What does “ssh USER@magnolia.local -i KEY cat /proc/loadavg” return,
> where USER and KEY are those specified in your machines.scm file?


[-- Attachment #2: Type: text/plain, Size: 461 bytes --]

natsu@clover ~$ 
(list (build-machine
             (name "magnolia.local")
             (system "x86_64-linux")
	     (host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMRy+enQECs2CsjrbSIfnNHExcUwzHFa7KUnhwDIeWOV")
             (user "natsu")
	     (private-key
	      (string-append (getenv "HOME")
			     "/.ssh/identity-for-guix"))
             (speed 2.)))
ssh natsu@magnolia.local -i $HOME/.ssh/identity-for-guix cat /proc/loadavg
0.05 0.08 0.02 1/247 13756

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-07-06 13:15                                     ` Oleg Pykhalov
@ 2017-07-07 10:00                                       ` Ludovic Courtès
       [not found]                                         ` <871spsginl.fsf@clover.i-did-not-set--mail-host-address--so-tickle-me>
  0 siblings, 1 reply; 30+ messages in thread
From: Ludovic Courtès @ 2017-07-07 10:00 UTC (permalink / raw)
  To: Oleg Pykhalov; +Cc: 27386

[-- Attachment #1: Type: text/plain, Size: 780 bytes --]

Oleg Pykhalov <go.wigust@gmail.com> skribis:

> ludo@gnu.org (Ludovic Courtès) writes:
>
>> Hmm could it be that ‘machine-load’ in (guix scripts offload) always
>> returns +inf.0, for instance because it fails to run “cat /proc/loadavg”
>> on the remote machine?  (If it succeeded we would see the message “load
>> on machine XYZ is N”.)
>>
>>   https://git.savannah.gnu.org/cgit/guix.git/tree/guix/scripts/offload.scm#n393
>
> Can I actually look what is happening somehow?

Yes, you can make a checkout of Guix, add ‘pk’ calls in (guix scripts
offload) (see below), and run the daemon from there:

  ./pre-inst-env guix-daemon --build-users-group=guixbuild

‘pk’ is a function that prints its argument and returns it, so you could
do:


[-- Attachment #2: Type: text/x-patch, Size: 546 bytes --]

diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm
index 566d117b0..0dd849942 100644
--- a/guix/scripts/offload.scm
+++ b/guix/scripts/offload.scm
@@ -398,7 +398,7 @@ allowed on MACHINE.  Return +∞ if MACHINE is unreachable."
     ((? session? session)
      (let* ((pipe (open-remote-pipe* session OPEN_READ
                                      "cat" "/proc/loadavg"))
-            (line (read-line pipe)))
+            (line (pk 'line (read-line pipe))))
        (close-port pipe)
 
        (if (eof-object? line)

[-- Attachment #3: Type: text/plain, Size: 716 bytes --]


to print the line that is read.

>> What does “ssh USER@magnolia.local -i KEY cat /proc/loadavg” return,
>> where USER and KEY are those specified in your machines.scm file?
>
> natsu@clover ~$ 
> (list (build-machine
>              (name "magnolia.local")
>              (system "x86_64-linux")
> 	     (host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMRy+enQECs2CsjrbSIfnNHExcUwzHFa7KUnhwDIeWOV")
>              (user "natsu")
> 	     (private-key
> 	      (string-append (getenv "HOME")
> 			     "/.ssh/identity-for-guix"))
>              (speed 2.)))
> ssh natsu@magnolia.local -i $HOME/.ssh/identity-for-guix cat /proc/loadavg
> 0.05 0.08 0.02 1/247 13756

Hmm, looks good.

Ludo’.

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* bug#27386: [SOLVED] Re: bug#27386: offloading documentation and env
       [not found]                                         ` <871spsginl.fsf@clover.i-did-not-set--mail-host-address--so-tickle-me>
@ 2017-07-08 16:33                                           ` Ludovic Courtès
  0 siblings, 0 replies; 30+ messages in thread
From: Ludovic Courtès @ 2017-07-08 16:33 UTC (permalink / raw)
  To: Oleg Pykhalov; +Cc: 27386

Hi Oleg,

Oleg Pykhalov <go.wigust@gmail.com> skribis:

> Solution
> ========
>
> https://lists.gnu.org/archive/html/help-guix/2017-05/msg00196.html
>
>> The ‘guix offload’ command is invoked by guix-daemon as root.  So when
>> it is invoked, (getenv "HOME") returns "/root" or similar.  Could that
>> be the problem?
>
> So, I need a ssh key pair in /root too!
>
> May be put this in doc?  I prepared a patch for this.
>
> From e119cf8cdc3eaa5774e44a301f1bcc975c31ce41 Mon Sep 17 00:00:00 2001
> From: Oleg Pykhalov <go.wigust@gmail.com>
> Date: Fri, 7 Jul 2017 23:25:40 +0300
> Subject: [PATCH] doc: Add note about private-key during offload.
>
> * doc/guix.texi (Using the Offload Facility): Add note about private-key.

Excellent, glad that you found out.  I reworded and pushed as
dde1e152ce42a06fe2998f3da8acb1addfd296fc.

I’m closing this bug now, because it’s been a long discussion about
various issues rather than an actual “bug report”.

Oleg & ng0, please open a new bug report if you find a problem with
offloading.  Note that the subject should clearly specify a problem
(“guix foo fails with bar”, “Offloading fails when X and Y”) or an
expectation (“Offloading documentation should describe X”, “guix foo
should not override bar”).  The current title does not pass this test.
:-)

TIA,
Ludo’.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-06-27 13:39           ` Ludovic Courtès
  2017-06-27 14:54             ` ng0
@ 2017-09-28 19:40             ` Divan Santana
  2017-09-28 19:44               ` Divan Santana
  2017-09-29  7:49               ` Ludovic Courtès
  1 sibling, 2 replies; 30+ messages in thread
From: Divan Santana @ 2017-09-28 19:40 UTC (permalink / raw)
  To: ludo; +Cc: 27386

So I'm trying to set up the same offloading and followed the
documentation and seem to have resulted in the same issue as ng0.

Ludovic Courtès <ludo@gnu.org> writes:

> ng0 <ng0@infotropique.org> skribis:
>
>> Ludovic Courtès transcribed 2.1K bytes:
>>> ng0 <ng0@infotropique.org> skribis:
>>>
>>> > 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 user@192.168.1.179:22555/…> …)
>>> > In ssh/dist/node.scm:
>>> >     397:8  0 (node-eval #<node user@192.168.1.179: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)" ())'.
>>>
>>> This means that you need to make sure that the target machine has (guix)
>>> in its load path.
>>
>> I assume that you have read the rest of my messages and not just skipped
>> through them. I thought my messages were clear that (guix) is in the
>> loadpath, but only *locally* on the machine, not when connecting to it
>> via ssh.
>
> Right, this is why I suggested testing that *with a non-interactive
> connection*, as in:
>
>   ssh HOST env | grep GUILE
>
>> So I'm guessing here: the not so obvious yet very obvious solution is to
>> put guix into the global (packages)?
>> Where global means the canonical /etc/config.scm
>
> On GuixSD, Guix is always in the global profile.
>
>>> The test is to run something like:
>>>
>>>   $ ssh localhost env |grep GUILE_
>>>   GUILE_LOAD_COMPILED_PATH=/home/ludo/.guix-profile/lib/guile/2.2/site-ccache:/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2
>>>   GUILE_LOAD_PATH=/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/share/guile/site/2.2
>>>
>>> and you should see /run/current-system/profile/share/guile/site/2.2.  If
>>> not, you’ll have to add it somehow.
>
> What does the above give for you?

So guixsd.santanas.co.za is my build system VM.
Laptop, is a guixsd system I want to not compile code, and rather offload.

root@laptop ~# ssh admin@guixsd.santanas.co.za env |grep GUILE_

Returns nothing.

However, an interactive session has the correct environment variables.
So I suppose one could set this via the .zshenv or .bash_profile .

Though I'm wondering what others do? Secondly, should the official docs
be updated?

root@guixsd ~# su - admin
admin@guixsd ~$ env|grep GUILE_
GUILE_LOAD_COMPILED_PATH=/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2
GUILE_LOAD_PATH=/run/current-system/profile/share/guile/site/2.2
admin@guixsd ~$

--
Divan

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-09-28 19:40             ` Divan Santana
@ 2017-09-28 19:44               ` Divan Santana
  2017-09-29  7:49               ` Ludovic Courtès
  1 sibling, 0 replies; 30+ messages in thread
From: Divan Santana @ 2017-09-28 19:44 UTC (permalink / raw)
  To: ludo; +Cc: 27386

Divan Santana <divan@santanas.co.za> writes:

> So I'm trying to set up the same offloading and followed the
> documentation and seem to have resulted in the same issue as ng0.
>
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> ng0 <ng0@infotropique.org> skribis:
>>
>>> Ludovic Courtès transcribed 2.1K bytes:
>>>> ng0 <ng0@infotropique.org> skribis:
>>>>
>>>> > 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 user@192.168.1.179:22555/…> …)
>>>> > In ssh/dist/node.scm:
>>>> >     397:8  0 (node-eval #<node user@192.168.1.179: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)" ())'.
>>>>
>>>> This means that you need to make sure that the target machine has (guix)
>>>> in its load path.
>>>
>>> I assume that you have read the rest of my messages and not just skipped
>>> through them. I thought my messages were clear that (guix) is in the
>>> loadpath, but only *locally* on the machine, not when connecting to it
>>> via ssh.
>>
>> Right, this is why I suggested testing that *with a non-interactive
>> connection*, as in:
>>
>>   ssh HOST env | grep GUILE
>>
>>> So I'm guessing here: the not so obvious yet very obvious solution is to
>>> put guix into the global (packages)?
>>> Where global means the canonical /etc/config.scm
>>
>> On GuixSD, Guix is always in the global profile.
>>
>>>> The test is to run something like:
>>>>
>>>>   $ ssh localhost env |grep GUILE_
>>>>   GUILE_LOAD_COMPILED_PATH=/home/ludo/.guix-profile/lib/guile/2.2/site-ccache:/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2
>>>>   GUILE_LOAD_PATH=/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/share/guile/site/2.2
>>>>
>>>> and you should see /run/current-system/profile/share/guile/site/2.2.  If
>>>> not, you’ll have to add it somehow.
>>
>> What does the above give for you?
>
> So guixsd.santanas.co.za is my build system VM.
> Laptop, is a guixsd system I want to not compile code, and rather offload.
>
> root@laptop ~# ssh admin@guixsd.santanas.co.za env |grep GUILE_
>
> Returns nothing.
>
> However, an interactive session has the correct environment variables.
> So I suppose one could set this via the .zshenv or .bash_profile .
>
> Though I'm wondering what others do? Secondly, should the official docs
> be updated?
>
> root@guixsd ~# su - admin
> admin@guixsd ~$ env|grep GUILE_
> GUILE_LOAD_COMPILED_PATH=/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2
> GUILE_LOAD_PATH=/run/current-system/profile/share/guile/site/2.2
> admin@guixsd ~$

I'm wondering if for others, by default does ssh a-guixsd-system env
|grep GUILE_ return something?

If so, why on my system, and ng0 is it not set.
--
Divan

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-09-28 19:40             ` Divan Santana
  2017-09-28 19:44               ` Divan Santana
@ 2017-09-29  7:49               ` Ludovic Courtès
  2017-09-29 17:02                 ` Ricardo Wurmus
  2017-09-29 19:33                 ` Divan Santana
  1 sibling, 2 replies; 30+ messages in thread
From: Ludovic Courtès @ 2017-09-29  7:49 UTC (permalink / raw)
  To: Divan Santana; +Cc: 27386

Hello Divan,

Divan Santana <divan@santanas.co.za> skribis:

> So guixsd.santanas.co.za is my build system VM.
> Laptop, is a guixsd system I want to not compile code, and rather offload.
>
> root@laptop ~# ssh admin@guixsd.santanas.co.za env |grep GUILE_
>
> Returns nothing.
>
> However, an interactive session has the correct environment variables.
> So I suppose one could set this via the .zshenv or .bash_profile .

Right.  On GuixSD, the default .bash_profile sources .bashrc, and the
default .bashrc has this:

--8<---------------cut here---------------start------------->8---
if [ -n "$SSH_CLIENT" -a -z "`type -P cat`" ]
then
    # We are being invoked from a non-interactive SSH session
    # (as in "ssh host command") but 'cat' cannot be found
    # in $PATH.  Source /etc/profile so we get $PATH and other
    # essential variables.
    source /etc/profile
fi
--8<---------------cut here---------------end--------------->8---

I suggest you do something similar.

HTH!

Ludo’.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-09-29  7:49               ` Ludovic Courtès
@ 2017-09-29 17:02                 ` Ricardo Wurmus
  2017-09-29 19:35                   ` Divan Santana
  2017-09-29 19:33                 ` Divan Santana
  1 sibling, 1 reply; 30+ messages in thread
From: Ricardo Wurmus @ 2017-09-29 17:02 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 27386

On build nodes I added the following variable definitions to
/etc/environment:

  GUILE_LOAD_PATH=/run/current-system/profile/share/guile/site/2.2
  GUILE_LOAD_COMPILED_PATH=/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2

You need to make sure that the guile process used by guile SSH is
restarted.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-09-29  7:49               ` Ludovic Courtès
  2017-09-29 17:02                 ` Ricardo Wurmus
@ 2017-09-29 19:33                 ` Divan Santana
  1 sibling, 0 replies; 30+ messages in thread
From: Divan Santana @ 2017-09-29 19:33 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 27386

> Divan Santana <divan@santanas.co.za> skribis:
>
>> So guixsd.santanas.co.za is my build system VM.
>> Laptop, is a guixsd system I want to not compile code, and rather offload.
>>
>> root@laptop ~# ssh admin@guixsd.santanas.co.za env |grep GUILE_
>>
>> Returns nothing.
>>
>> However, an interactive session has the correct environment variables.
>> So I suppose one could set this via the .zshenv or .bash_profile .
>
> Right.  On GuixSD, the default .bash_profile sources .bashrc, and the
> default .bashrc has this:
>
> --8<---------------cut here---------------start------------->8---
> if [ -n "$SSH_CLIENT" -a -z "`type -P cat`" ]
> then
>     # We are being invoked from a non-interactive SSH session
>     # (as in "ssh host command") but 'cat' cannot be found
>     # in $PATH.  Source /etc/profile so we get $PATH and other
>     # essential variables.
>     source /etc/profile
> fi
> --8<---------------cut here---------------end--------------->8---
>
> I suggest you do something similar.

Thanks Ludo.

Though, I do have the default .bashrc and .bash_profile in place and
yet it's not working, by default.

  admin@guixsd ~$ diff .bash_profile /etc/skel/.bash_profile
  admin@guixsd ~$ diff .bashrc /etc/skel/.bashrc
  25a26
  > alias grep='grep --color'
  admin@guixsd ~$

So I'm assuming this doesn't work by default for all?
Unless it's because I configured the users shell to zsh, I doubt.
Because, when switching it back to bash it still doesn't work. And the
skel files are correctly in place.

It does have your above suggestion in place:

  admin@guixsd ~$ cat .bash_profile
  # Honor per-interactive-shell startup file
  if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
  admin@guixsd ~$ cat .bashrc
  # Bash initialization for interactive non-login shells and
  # for remote shells (info "(bash) Bash Startup Files").

  # Export 'SHELL' to child processes.  Programs such as 'screen'
  # honor it and otherwise use /bin/sh.
  export SHELL

  if [ -n "$SSH_CLIENT" -a -z "`type -P cat`" ]
  then
      # We are being invoked from a non-interactive SSH session
      # (as in "ssh host command") but 'cat' cannot be found
      # in $PATH.  Source /etc/profile so we get $PATH and other
      # essential variables.
      source /etc/profile
  fi

--
Divan

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#27386: offloading documentation and env
  2017-09-29 17:02                 ` Ricardo Wurmus
@ 2017-09-29 19:35                   ` Divan Santana
  0 siblings, 0 replies; 30+ messages in thread
From: Divan Santana @ 2017-09-29 19:35 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 27386

Ricardo Wurmus <rekado@elephly.net> writes:

> On build nodes I added the following variable definitions to
> /etc/environment:
>
>   GUILE_LOAD_PATH=/run/current-system/profile/share/guile/site/2.2
>   GUILE_LOAD_COMPILED_PATH=/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2
>
> You need to make sure that the guile process used by guile SSH is
> restarted.

Thanks Ricardo.

So if you do this on build systems, I assume it's kinda a requirement of
sort that should go into the document?

I prefer your suggestion over my local editing of the bash/zsh files.

--
Divan

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2017-09-29 19:36 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-15 17:05 bug#27386: offloading documentation and env ng0
2017-06-15 21:11 ` ng0
2017-06-15 22:19   ` ng0
2017-06-15 22:34     ` ng0
2017-06-26 19:56       ` Ludovic Courtès
2017-06-26 21:15         ` ng0
2017-06-27 13:39           ` Ludovic Courtès
2017-06-27 14:54             ` ng0
2017-06-27 19:38               ` Ludovic Courtès
2017-06-27 20:31                 ` ng0
2017-06-28  8:31                   ` Ludovic Courtès
2017-06-28 11:45                     ` ng0
2017-06-28 21:46                       ` Ludovic Courtès
2017-06-28 22:36                         ` ng0
2017-06-29 11:50                           ` Ludovic Courtès
2017-07-04 13:51                             ` Oleg Pykhalov
2017-07-04 15:43                               ` Oleg Pykhalov
2017-07-04 16:02                                 ` Oleg Pykhalov
2017-07-04 21:36                               ` Ludovic Courtès
2017-07-05 17:06                                 ` Oleg Pykhalov
2017-07-06  7:33                                   ` Ludovic Courtès
2017-07-06 13:15                                     ` Oleg Pykhalov
2017-07-07 10:00                                       ` Ludovic Courtès
     [not found]                                         ` <871spsginl.fsf@clover.i-did-not-set--mail-host-address--so-tickle-me>
2017-07-08 16:33                                           ` bug#27386: [SOLVED] " Ludovic Courtès
2017-09-28 19:40             ` Divan Santana
2017-09-28 19:44               ` Divan Santana
2017-09-29  7:49               ` Ludovic Courtès
2017-09-29 17:02                 ` Ricardo Wurmus
2017-09-29 19:35                   ` Divan Santana
2017-09-29 19:33                 ` Divan Santana

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).