Subject: bug#21987: Version 0.9 Fails to Compile on Raspbian

From: Mark H Weaver <[email-masked]>
Date: Tue, 24 Nov 2015 21:49:04 -0500

[email-masked] (Ludovic Courtès) writes:

> (Please keep [email-masked] Cc’d.)
>
> Martin Vahi <[email-masked]> skribis:
>
>> checking build system type... armv6l-unknown-linux-gnueabihf
>> checking host system type... armv6l-unknown-linux-gnueabihf
>
> [...]
>
>> checking for the Guix system type... armhf-linux
>
> This is the problem: ‘configure’ should bail out when it encounters
> “armv6l”.  I believe the patch below solves that.
>
> The triplet we pass to ‘./configure --build’ starts with “arm-”
> (computed from ‘nix-system->gnu-triplet’.)  However, when running
> config.guess outside of the Guix environment on hydra-slave1, I get
> “armv7l”.  So I think we have to allow both.
>
> Mark?

We should allow arm8* as well, no?  Actually armN* for N >= 7.  Ideally,
we would test for the processor features we actually need.

      Mark

> diff --git a/m4/guix.m4 b/m4/guix.m4
> index 842249a..4f586b6 100644
> --- a/m4/guix.m4
> +++ b/m4/guix.m4
> @@ -51,7 +51,12 @@ AC_DEFUN([GUIX_SYSTEM_TYPE], [
>            machine_name="i686";;
>         amd64)
>            machine_name="x86_64";;
> -       arm*)
> +       arm|armv7*)
> +          # Here we want to exclude CPUs such as "armv6l".  On ARMv7
> +          # machines, we normally get "armv7l".  However, in Guix, we
> +          # configure with --build=arm-unknown-linux-gnueabihf, leading
> +          # to just "arm", so we also have to allow it.
> +          #
>            # TODO: If not cross-compiling, add a sanity check to make
>            #       sure this build machine has the needed features to
>            #       support executables compiled using our armhf gcc,