Subject: Re: [bug#27426] [PATCH 0/2] 'guix-daemon --listen' can specify multiple interfaces

From: Roel Janssen <[email-masked]>
Date: Tue, 20 Jun 2017 14:29:46 +0200

Hi Ludo’,

Ludovic Courtès writes:

> Hello Guix!
>
> Commit 3dff90ce34448551bc82a6a7262837c0561a4691 added support for
> guix:// URIs on the client side.  This commit adds guix-daemon support
> to specify TCP sockets to listen to, like this:
>
>   # Listen on the loopback interface only, port 1234.
>   guix-daemon --listen=localhost:1234
>
>   # Listen on the Unix-domain socket and on the public interface,
>   # port 44146.
>   guix-daemon --listen=/var/guix/daemon-socket/socket \
>               --listen=0.0.0.0
>
> The primary use case is clusters running a single ‘guix-daemon’ instance
> that can be accessed from other nodes on the local network.
>
> Feedback welcome!

Thanks a lot for these patches!  Today I tried to run the guix-daemon
with it on our cluster.  It works fine, except for the following (which
might be unrelated):

[root@hpcguix ~]$ /gnu/repositories/guix/guix-daemon --listen=/gnu/daemon-socket/socket --listen=<ip-address>:<port> ...

[roel@submit-node1 ~]$ guixr package -i samtools
The following package will be installed:
   samtools    1.3.1    /gnu/store/syl74az7a5mw5f8r5jfldiddlyc3ry28-samtools-1.3.1

substitute: error: executing `/usr/local/libexec/guix/substitute': No such file or directory
guix package: error: build failed: substituter `substitute' died unexpectedly

When passing --no-substitutes, the command works, which means the
guix-daemon with these patches applied does what we expect.

Note that, I could've used 'guix' instead of 'guixr', but all 'guixr'
essentially does is set the GUIX_DAEMON_SOCKET and GUIX_PACKAGE_PATH
variables.

I wonder where this /usr/local/libexec comes from, and how/where I can
configure it so that it works the same as before.

Thanks again for these patches.

Kind regards,
Roel Janssen