GNU bug report logs - #60786
unsupported mips64el architecture can cause cryptic backtraces

Previous Next

Package: guix;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Fri, 13 Jan 2023 17:27:02 UTC

Severity: normal

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 60786 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 60786 <at> debbugs.gnu.org
Subject: Re: bug#60786: cross-kernel-headers can produce broken packages
Date: Fri, 13 Jan 2023 17:12:11 -0500
Hello,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

> Hello,
>
> This issue was triggered by having make-uboot-package uses #:target [0],
> but it already exists on current master.  I've spent some time narrowing
> down the issue, and it is caused by the package returned by
> cross-kernel-headers in (gnu packages cross-base) being produced with a
> bogus arguments field, or at least one that can't be access via the
> package-arguments accessor:
>
> (use-modules (guix packages)
>              (gnu packages cross-base))
>
> (define linux-libre-headers-cross-mips64el-linux-gnuabi64
>   (cross-kernel-headers "mips64el-linux-gnuabi64"))
>
> (package-arguments linux-libre-headers-cross-mips64el-linux-gnuabi64)
>
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f
>
> Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
> scheme@(guix-user) [1]> ,bt
> In gnu/packages/cross-base.scm:
>    388:33  1 (loop (#:phases (modify-phases %standard-phases (delete (quote configure)) (# (…) …) …) …) …)
> In ice-9/boot-9.scm:
>   1685:16  0 (raise-exception _ #:continuable? _)
>
> [0]  https://issues.guix.gnu.org/60224#30

OK, I think I've found the culprit:

--8<---------------cut here---------------start------------->8---
                 (setenv "ARCH" ,(platform-linux-architecture
                                  (lookup-platform-by-target target)))
--8<---------------cut here---------------end--------------->8---

in the definition of cross-kernel-headers*, in (gnu packages
cross-base).

When the target is "mips64el-linux-gnuabi64", lookup-platform-by-target
returns #f, which platform-linux-architecture does not expect.

-- 
Thanks,
Maxim




This bug report was last modified 2 years and 105 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.