guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: guix system: error: service 'ssh-daemon' requires 'networking', whic


From: Ludovic Courtès
Subject: Re: guix system: error: service 'ssh-daemon' requires 'networking', which is undefined
Date: Tue, 19 Jul 2016 14:43:41 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Tobias Geerinckx-Rice <address@hidden> skribis:

> On 2016-07-15 18:50, address@hidden wrote:
>> We could improve the error message by showing the location of the
>> ‘ssh-daemon’ Shepherd service definition, though it may be better (but
>> more difficult) to show the location of the instantiation of the
>> corresponding service (the ‘(lsh-service)’ line in your config file.)
>
> That would certainly be nice. As a newcomer (points at self), simply
> scanning error messages for keywords/file locations can lead nowhere
> until you learn to read what Guix is *actually* trying to say.
>
>> Thoughts?
>
> The message ‘which is undefined’ itself is still rather cryptic: the
> first time I got it, I assumed my git checkout was broken. How about
> something closer to ‘which is not provided by any operating-system
> services’?

I improved the message along these lines in commit
2c2ec261a8d3c37e5147038f47ad24c57cde4134, let me know what you think.

To be more concrete about other improvements, here’s what should be
feasible (but needs to be discussed to see whether it’s actually
helpful):

  1. Display the location of the Shepherd service definition:

       gnu/services/ssh.scm:160:4: 'ssh-daemon' requires 'networking'…

     Trivial to implement, but the downside is that the user doesn’t
     really care about this file.

  2. Same, but also show some sort of a stack trace (but not an actual
     Scheme stack trace) showing where this Shepherd service comes from:

       gnu/services/ssh.scm:160:4: 'ssh-daemon' requires 'networking'…
       gnu/services/ssh.scm:117:30: … in extension of service 'shepherd'
       gnu/services/ssh.scm:228:2: … while folding service 'lsh’ instantiated 
here

     The problem is that, currently, we’d get the location of the
     (service …) form, which is in the ‘lsh-service’ procedure, in
     gnu/services/ssh.scm.

     It may be hard to come up with intelligible messages, and there’s a
     risk that showing too many lines of messages would be
     counterproductive.

Thoughts?

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]