Divan Santana <di...@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 <l...@gnu.org> writes: > >> ng0 <n...@infotropique.org> skribis: >> >>> Ludovic Courtès transcribed 2.1K bytes: >>>> ng0 <n...@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 ad...@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