From mboxrd@z Thu Jan 1 00:00:00 1970 From: Divan Santana Subject: bug#27386: offloading documentation and env Date: Thu, 28 Sep 2017 21:44:17 +0200 Message-ID: <87vak2ehgu.fsf@santanas.co.za> References: <20170615170552.n7y5cxquqozpnesj@abyayala> <20170615211132.clkaslffc4a3l5bw@abyayala> <20170615221902.5ubbhriynb7wozrz@abyayala> <20170615223456.z5w2oaxifbah2ak2@abyayala> <87podq7cae.fsf@gnu.org> <20170626211511.ox5smekycmqz2vc3@abyayala> <87injh5z3h.fsf@gnu.org> <87wp4iehmm.fsf@santanas.co.za> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60953) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxpO8-0001KK-Cl for bug-guix@gnu.org; Fri, 29 Sep 2017 03:07:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dxpO2-0003rA-HA for bug-guix@gnu.org; Fri, 29 Sep 2017 03:07:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:57016) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dxpO2-0003r1-Cb for bug-guix@gnu.org; Fri, 29 Sep 2017 03:07:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dxpO2-0004pO-6E for bug-guix@gnu.org; Fri, 29 Sep 2017 03:07:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-reply-to: <87wp4iehmm.fsf@santanas.co.za> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: ludo@gnu.org Cc: 27386@debbugs.gnu.org Divan Santana 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=C3=A8s writes: > >> ng0 skribis: >> >>> Ludovic Court=C3=A8s transcribed 2.1K bytes: >>>> ng0 skribis: >>>> >>>> > And this is from master running an offloading test as it is right no= w. >>>> > Both ends have GuixSD. >>>> > >>>> > user@abyayala ~$ guix offload test >>>> > guix offload: testing 1 build machines defined in '/usr/local/etc/gu= ix/machines.scm'... >>>> > guix offload: '192.168.1.179' is running guile (GNU Guile) 2.2.2 >>>> > Backtrace: >>>> > 7 (primitive-load "/gnu/store/js4ml3w20ysh4znp9wl0da0ljji= =E2=80=A6") >>>> > In guix/ui.scm: >>>> > 1321:8 6 (run-guix-command _ . _) >>>> > In ice-9/boot-9.scm: >>>> > 837:9 5 (catch srfi-34 # =E2=80=A6) >>>> > 837:9 4 (catch system-error # =E2=80=A6) >>>> > In guix/scripts/offload.scm: >>>> > 611:6 3 (check-machine-availability _ _) >>>> > In srfi/srfi-1.scm: >>>> > 656:11 2 (for-each #= =E2=80=A6) >>>> > In guix/scripts/offload.scm: >>>> > 543:2 1 (assert-node-has-guix # =E2=80=A6) >>>> > In ssh/dist/node.scm: >>>> > 397:8 0 (node-eval # =E2=80=A6) >>>> > >>>> > 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:\nERRO= R: no code for module (guix)" ())'. >>>> >>>> This means that you need to make sure that the target machine has (gui= x) >>>> 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=3D/home/ludo/.guix-profile/lib/guile/2.2/si= te-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=3D/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=E2=80=99ll 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=3D/run/current-system/profile/lib/guile/2.2/site= -ccache:/run/current-system/profile/share/guile/site/2.2 > GUILE_LOAD_PATH=3D/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