[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#54864: GNU Cuirass reports arm64 as armhf
From: |
Ludovic Courtès |
Subject: |
bug#54864: GNU Cuirass reports arm64 as armhf |
Date: |
Wed, 27 Apr 2022 23:37:43 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hi Maxim,
Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
> [...]
>
>> I see, yeah, I eventually figured out that aarch64 was what I was
>> supposed to be using (I think I was reading
>> https://wiki.debian.org/Multiarch/Tuples when I realized this).
>>
>> However, what confuses me still was that 'arm64-linux' did work as a
>> system type: A bunch of packages failed to build, but some builds were
>> successful. Maybe that input just makes it default to 'armhf-linux'?
>
> I've had this experience before, it's very confusing (it goes on trying
> to build a toolchain for something that is sure to fail). Perhaps we
> could at least have a place to refer to in the manual for the common GNU
> triplets which make the most sense in for GNU Guix (e.g., the currently
> supported GNU system triplets). Currently I grep the manual for
> disparate examples when my memory fail me.
“aarch64-linux” & co. are Nix/Guix “system types”; GNU triplets look
like “aarch64-linux-gnu” or “i686-pc-linux-gnu” (info "(autoconf)
Specifying Target Triplets"). Triplets are passed to ‘--target’.
Note that the current situation is:
--8<---------------cut here---------------start------------->8---
$ guix build -s arm64-linux coreutils -n
Backtrace:
In guix/memoization.scm:
101:0 19 (_ #<hash-table 7f5f81694000 0/31> #<package tar@1.34 …> …)
In guix/packages.scm:
1247:37 18 (_)
1507:16 17 (package->bag _ _ _ #:graft? _)
1608:48 16 (thunk)
1403:25 15 (inputs _)
In srfi/srfi-1.scm:
586:29 14 (map1 (("coreutils" #<package coreutils@8.32 guix/…>) …))
586:29 13 (map1 (("grep" #<package grep@3.6 gnu/packages/com…>) …))
586:29 12 (map1 (("locales" #<package glibc-utf8-locales@2.3…>) …))
586:29 11 (map1 (("bash" #<package bash-minimal@5.1.8 gnu/pa…>) …))
586:17 10 (map1 (("gcc" #<package gcc@10.3.0 gnu/packages/co…>) …))
In guix/packages.scm:
1360:20 9 (rewrite ("gcc" #<package gcc@10.3.0 gnu/packages/com…>))
In guix/memoization.scm:
101:0 8 (_ #<hash-table 7f5f816f69a0 14/31> #<package gcc@10.3…> …)
In guix/packages.scm:
1374:13 7 (_)
In guix/build-system/gnu.scm:
157:33 6 (cut? _)
In gnu/packages/commencement.scm:
3522:39 5 (arguments #<package gcc@10.3.0 gnu/packages/commenceme…>)
In gnu/packages/gcc.scm:
200:48 4 (arguments #<package gcc@4.8.5 gnu/packages/gcc.scm:382…>)
In gnu/packages/bootstrap.scm:
342:14 3 (glibc-dynamic-linker _)
In ice-9/boot-9.scm:
1685:16 2 (raise-exception _ #:continuable? _)
1685:16 1 (raise-exception _ #:continuable? _)
1685:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
dynamic linker name not known for this system "arm64-linux"
--8<---------------cut here---------------end--------------->8---
I suspect Cuirass hides this somewhat and goes on building fixed-output
derivations (i.e., source code downloads), which are system-independent,
giving this impression that it’s kinda working when it really isn’t?
HTH,
Ludo’.