[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.