Ludovic Courtès <ludo@gnu.org> writes:
Toggle quote (9 lines)
> Hi,
>
> Zheng Junjie <zhengjunjie@iscas.ac.cn> skribis:
>
>> utils: Add 'objcopy-for-target' and 'objdump-for-target'.
>> gnu: glibc: Fix cross-compiling.
>
> Could you explain what this is addressing?
all cross-compiling image build fail, because glibc 2.39 cross-compiling fail.
Toggle quote (3 lines)
>
> The ‘add-cross-binutils-to-PATH’ phase is supposed to do the right
this is in cross-libc*, but glibc not have this phase.
Toggle quote (6 lines)
> thing, as suggested in the discussion at
> <https://inbox.sourceware.org/libc-alpha/d72f5f6f-cc3a-bd89-0800-ffb068928e0f@linaro.org/t/>,
> and that means ‘objdump-for-target’ & co. shouldn’t be necessary.
>
> Ludo’.
glibc 2.35 have "glibc-cross-objdump.patch" and "glibc-cross-objcopy.patch"
patch, but glibc 2.39 not have them, so 2.39 cross compiling try use objdump
and build fail, and 2.35 success.
I checked again today. because (gnu services base)'s nscd-configuration
default use glibc, not '(cross-libc target)', This is why glibc was
introduced. Maybe the following patch can also be useful.
From f23d1e48bd0fd9d3b66cbc831cc40f475faff7a4 Mon Sep 17 00:00:00 2001
Message-ID: <f23d1e48bd0fd9d3b66cbc831cc40f475faff7a4.1725551406.git.zhengjunjie@iscas.ac.cn>
target).
* gnu/services/base.scm (nscd-configuration)[glibc]: When cross-compiling,
Use (cross-libc target).
Change-Id: Ib219459b1ec28f7edfac075e70be3d61edf72d27
---
gnu/services/base.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Toggle diff (38 lines)
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 4b5b103cc3..4eda5382f5 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -21,6 +21,7 @@
;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
+;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -67,6 +68,8 @@ (define-module (gnu services base)
libc-utf8-locales-for-target
make-glibc-utf8-locales
tar canonical-package))
+ #:use-module ((gnu packages cross-base)
+ #:select (cross-libc))
#:use-module ((gnu packages compression) #:select (gzip))
#:use-module (gnu packages fonts)
#:autoload (gnu packages guile-xyz) (guile-netlink)
@@ -1313,7 +1316,7 @@ (define-record-type* <nscd-configuration> nscd-configuration
;; from 'glibc-final' instead of pulling in a second
;; glibc copy.
(if target
- glibc
+ (cross-libc target)
(canonical-package glibc))))))
(define-record-type* <nscd-cache> nscd-cache make-nscd-cache
base-commit: 993d6d2e7be4dac738629c76a51058f4dc5bc449
prerequisite-patch-id: dd51603b3f57923df8ac28ca5f41557be07ee742
prerequisite-patch-id: f86942972fa6ddef6e83b54c6120e9d5dfb63098
prerequisite-patch-id: c3394b41809ae9e5a91a51d7c77401cb58192c51
prerequisite-patch-id: 68f03643905981a0a79b4ae13971a58a808877f5
--
2.45.2
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmbZ07gACgkQO1qpk+Gi
3/ASbA/8Cw+Mt0jWX2meEXdDMXM0lM81DFwR5tqe2cIUpXfwCj+g9BFH6PLzERzb
HNRKosgR+poe1StgeRJrt9BFwRif3OJbW9Hz7EBDFXUoS3LnabFWSFQdMR58bJ6m
cywlE7FiNygOjsuVZ2fWUC7qd0dyzn8L0G8Pa6muhPhibhEWu2TRRRcaOg9THeXL
fn+Gb2A2bdk/Lzbi2YlxFDHIzzsU1tzNC8O6/tNiennKQxdcSTgjW2+r32p/ADVP
pLsA9ryC60kSz/EPyp/gAIpHfvstNXJKH/wPkm3MTr6n0AHcrp/W8FSuz6xiICQx
0oK9h9vaaugpopqXAXKBJ+3WPaLcJ/iZneV27e+vEsHeudzx9PE8jCD1bnsKc28h
SDtcETmdwbPCvOwZ5qr5XGIeIw44P/c6ywsxsDwiP4tlmq+O9PKY8sTaA9G1wVu+
LU4RVIlzaW9UPCeiOfxv+3H1Yvm0kDEeFFDIHka1DC03iUPiUn5DKmNhgkpOsprt
0nKtvEiATeBLCV2wtxkQcZ2XwD6TOltnXIiv2vDIPK5lobi05gD4kzakrbWj7Xos
KuYSP22wuGf9C0Q08pjSeathtB0AZtWSsbsLRHkUlWEYQpQEs7nk+5ZNrB29z1w7
YSNkcW6k9npwwZeYvPRuFOeIfQdbFJAF3WyF1mw0Asj5dUm3y+c=
=2H03
-----END PGP SIGNATURE-----