Mathieu Othacehe writes: Hello Mathieu, > I strongly suspect this is because we would need to wrap the > "compile-file" call in "scm->go" procedure of (gnu services shepherd) > inside a "with-target". > That would look like: > > (if target > (with-target target > (compile-file #$file #:output-file #$output > #:env env)) > (compile-file #$file #:output-file #$output > #:env env)) Thank you! I have tried this in the attached patch, and it seems to work for me. I was so puzzled why wrapping scm->go --8<---------------cut here---------------start------------->8--- (use-modules (system base target)) (define (scm->go file) (with-target "i586-pc-gnu" (lambda _ ((@@ (gnu services shepherd) scm->go) file)))) --8<---------------cut here---------------end--------------->8--- did not work; actually reading scm->go makes that pretty clear :-) > Now, the tricky part is the value of target, because > #$(%current-target-system) might not be correct in that context. I did read this, but wanted to try it first anyway. So, what are you seeing here, when would this not be OK? Any other ideas of how to address this further? Greetings, janneke