[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#63008] gdb on aarch64
From: |
Pierre Langlois |
Subject: |
[bug#63008] gdb on aarch64 |
Date: |
Mon, 24 Apr 2023 20:20:26 +0100 |
User-agent: |
mu4e 1.10.2; emacs 28.2 |
Pierre Langlois <pierre.langlois@gmx.com> writes:
> [[PGP Signed Part:Undecided]]
> Hi Andreas, sorry I missed your reply!
>
> Andreas Enge <andreas@enge.fr> writes:
>
>> Hello Pierre,
>>
>> we also have gdb@12 in core-updates; does this also not build? Right now
>> none of the two have been built on aarch64 on CI, so I lack an overview.
>
> Yup, gdb@12 builds just fine for me!
>
>>
>> On x86_64, both build; @12 has 101 dependents, @11 7563!
>> This cannot be accomodated on core-updates any more, I am afraid.
>>
>> We will need to build it out afterwards. And probably the best course
>> of action would be to move the dependents to gdb@12; or drop the
>> dependency? Why do so many packages depend on a debugger?
>
> Yeah gdb is used as a dependency for testing rust, I'm not sure if it
> has to be 11, it can probably work with 12 although I haven't tried.
>
> I think the main reason we still have gdb 11 is to make sure we don't
> rebuild the rust world. I'm afraid if we don't do update it know, we'll
> have to do it quite soon, can the rust world be rebuilt on a staging
> branch soon after the core-updates merge? I'm concerned that these days
> a lot relies on rust (via librsvg IIRC), so not having it available
> might be an issue, even for simple systems :-/.
>
> All that being said, it might be possible to add a separate gdb@11.2
> package, and only use it for rust on non-x86, in a way that doesn't
> cause a rebuild, could that work?
To illustrate what I mean, here's a WIP patch (it needs comments),
AFAICT, this would only be a rebuild on non-x86:
signature.asc
Description: PGP signature
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index 82050d9ac5..d460f3950c 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -146,6 +146,18 @@ (define-public gdb-11
;; RPC stubs).
(supported-systems (fold delete %supported-systems %hurd-systems))))
+(define-public gdb-11.2
+ (package
+ (inherit gdb-11)
+ (version "11.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gdb/gdb-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "xvczsqcbh5y0gx7qrclpna0qzx26sk7lra6y8qzxam1biyzr65qf"))))))
+
(define-public gdb-12
(package
(inherit gdb-11)
@@ -166,6 +178,11 @@ (define-public gdb/pinned
;; enough to avoid massive rebuilds.
gdb-11)
+(define-public gdb-11.2/pinned
+ ;; This is the fixed version that packages depend on. Update it rarely
+ ;; enough to avoid massive rebuilds.
+ gdb-11.2)
+
(define-public gdb
;; The "default" version.
gdb-12)
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index d07f4ef10c..3cc5a4926b 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -788,7 +788,9 @@ (define-public rust
(format #f "prefix = ~s" (assoc-ref outputs "rustfmt"))))
(invoke "./x.py" "install" "rustfmt")))))))
;; Add test inputs.
- (native-inputs (cons* `("gdb" ,gdb/pinned)
+ (native-inputs (cons* `("gdb" ,(if (target-x86?)
+ gdb/pinned
+ gdb-11.2/pinned))
`("procps" ,procps)
(package-native-inputs base-rust))))))