help-guix
[Top][All Lists]
Advanced

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

Re: Wrong type argument in position 1 (expecting struct): #<procedure sd


From: rendaw
Subject: Re: Wrong type argument in position 1 (expecting struct): #<procedure sddm-service (#:optional config)>
Date: Thu, 9 May 2019 16:26:29 +0900
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.3

On 5/9/19 2:55 PM, address@hidden wrote:
> Hello! I try to reconfigure system with Gnome, sddm and wayland.
> I also use sddm-configuration to define use wayland for greeter, but get the 
> error for my misconfiguration:
>
> # cat config.scm
> ...
>  (services (cons*
>  ;(service xfce-desktop-service-type)
>  (service gnome-desktop-service-type)
>  (service dhcp-client-service-type)
>  (service sddm-service
>  (sddm-configuration
>  (display-server "wayland")))
> ...
> )
>
> # guix system reconfigure config.scm
> Backtrace:
>  14 (primitive-load "/root/.config/guix/current/bin/guix")
> In guix/ui.scm:
>  1734:12 13 (run-guix-command _ . _)
> In ice-9/boot-9.scm:
>  829:9 12 (catch _ _ #<procedure 7ff6047408f8 at guix/ui.scm:701…> …)
>  829:9 11 (catch _ _ #<procedure 7ff604740910 at guix/ui.scm:824…> …)
> In guix/scripts/system.scm:
>  1301:8 10 (_)
> In guix/status.scm:
>  768:4 9 (call-with-status-report _ _)
> In guix/scripts/system.scm:
>  1159:4 8 (process-action _ _ _)
> In guix/store.scm:
>  623:10 7 (call-with-store _)
>  1794:24 6 (run-with-store _ _ #:guile-for-build _ #:system _ # _)
> In guix/scripts/system.scm:
>  1175:13 5 (_ _)
>  882:18 4 (perform-action reconfigure #<<operating-system> kerne…> …)
> In gnu/system.scm:
>  851:19 3 (operating-system-derivation _)
> In gnu/services.scm:
>  743:6 2 (instantiate-missing-services _)
> In guix/combinators.scm:
>  45:26 1 (fold2 #<procedure adjust-service-list (svc result ins…> …)
> In gnu/services.scm:
>  733:11 0 (adjust-service-list _ (#<<service> type: #<service…> …) …)
>
> gnu/services.scm:733:11: In procedure adjust-service-list:
> In procedure struct_vtable: Wrong type argument in position 1 (expecting 
> struct): #<procedure sddm-service (#:optional config)>
> Please, let me know how to understand such errors. Here, I saw the same 
> structure 
> https://www.gnu.org/software/guix/manual/en/guix.html#index-sddm_002dservice

(sddm-service ...) returns a service instance so you don't need to wrap
it in (service ...).  I think the key point to notice is it's
`sddm-service` and not `sddm-service-type` - service types go in
`(service ...)` as the second parameter but `service-*` functions
replace the `(service ...)` call entirely.

I'm not sure if there's more information you can get from the backtrace,
but where it says:

position 1 (expecting struct): #<procedure sddm-service (#:optional config)>

it's saying it wanted a struct but got `sddm-service` which is a
`procedure` (function). And the last line of the trace has:

 733:11 0 (adjust-service-list _ (#<<service> type: #<service…> …) …)

-- all the <service> things make me think that it's probably looking for
a struct of type <service>.

If you change it from `(service sddm-service)` to `(sddm-service
(sddm-configuration))` it should work (although you might want to
specify some values in sdm-configuration.




reply via email to

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