Subject: Re: bug#52267: Acknowledgement (disk image installer for rock64 fails)

From: Maxime Devos <[email-masked]>
Date: Thu, 09 Dec 2021 07:49:46 +0000

Maxime Devos schreef op do 09-12-2021 om 07:45 [+0000]:
> > [...]
> > Seems like there are two bugs in the dosfstools package definition
> > currently preventing cross-compilation:
> > 
> > This line  ...
> > > #:make-flags (list (string-append "PREFIX=" %output) "CC=gcc")))
> > 
> > ... needs to be replaced by ...
> > 
> > > #:make-flags ,#~(list (string-append "PREFIX=" #$output) (string-
> > > append "CC=" ,(cc-for-target)))

Correction, it must be

> #:make-flags ,#~(list (string-append "PREFIX=" #$output) (string-append "CC=" #$(cc-for-target))).

(#$(cc-for-target) instead of ,(cc-for-target)).

That makes the cross-build

./guix-cuf/bin/guix build --target=aarch64-linux-gnu -e '((@ (guix packages) package) (inherit (@ (gnu packages disk) dosfstools)) (arguments `(#:make-flags ,#~(list (string-append "PREFIX=" #$output) (string-append "CC=" #$((@ (guix utils) cc-for-target)))) #:configure-flags (list "--enable-compat-symlinks"))))'

succeed for me, though I don't have an aarch64 to test it on.
The output from 'guix gc --references' only show a glibc-cross-... and gcc-cross-...-lib,
so presumably the cross-compiled package will work.

Greetings,
Maxime