unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [core-updates] aarch64: Cannot build glibc-2.39
@ 2024-07-23 19:51 Ricardo Wurmus
  2024-07-31 21:50 ` Ricardo Wurmus
  0 siblings, 1 reply; 8+ messages in thread
From: Ricardo Wurmus @ 2024-07-23 19:51 UTC (permalink / raw)
  To: guix-devel

Hi Guix,

I tried to deploy to my aarch64 system with Guix on core-updates.  This
fails with a configure failure in the build of glibc 2.39.

This is the output of the configure phase:

--8<---------------cut here---------------start------------->8---
starting phase `configure'
source directory: "/tmp/guix-build-glibc-2.39.drv-0/glibc-2.39" (relative from build: "../glibc-2.39")
build directory: "/tmp/guix-build-glibc-2.39.drv-0/build"
configure flags: ("CONFIG_SHELL=/gnu/store/d7q6yazfa1bxf4x7p9n3b99hn97q6bvw-bash-minimal-5.1.16/bin/bash" "SHELL=/gnu/store/d7q6yazfa1bxf4x7p9n3b99hn97q6bvw-bash-minimal-5.1.16/bin/bash" "--prefix=/gnu/store/2ibzg3n6krq0ghq8kzrmnc7kpbgzlg40-glibc-2.39" "--enable-fast-install" "--build=aarch64-unknown-linux-gnu" "--disable-nscd" "--disable-build-nscd" "--enable-static-nss" "--sysconfdir=/etc" "libc_cv_complocaledir=/run/current-system/locale/2.39" "--with-headers=/gnu/store/rril5xnxnr7gs7i9rqw6qws05nmwn7lv-linux-libre-headers-5.15.49/include" "--enable-kernel=3.2.0" "BASH_SHELL=/gnu/store/d7q6yazfa1bxf4x7p9n3b99hn97q6bvw-bash-minimal-5.1.16/bin/bash")
checking build system type... aarch64-unknown-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking for gcc... gcc
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking for g++... g++
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking whether g++ can link programs... no
checking for sysdeps preconfigure fragments... aarch64 alpha arc arm csky hppa i386 loongarch m68k microblaze checking for grep that handles long lines and -e... /gnu/store/ysla2nchzpzpr9gwhwv2ihm26hriiqxg-grep-3.11/bin/grep
checking for egrep... /gnu/store/ysla2nchzpzpr9gwhwv2ihm26hriiqxg-grep-3.11/bin/grep -E
mips nios2 or1k powerpc riscv s390 sh checking for grep that handles long lines and -e... (cached) /gnu/store/ysla2nchzpzpr9gwhwv2ihm26hriiqxg-grep-3.11/bin/grep
checking for egrep... (cached) /gnu/store/ysla2nchzpzpr9gwhwv2ihm26hriiqxg-grep-3.11/bin/grep -E
sparc x86_64 
checking for a BSD-compatible install... /gnu/store/62c9pawfdpv1qrgavs8amadbwz8zfiaf-coreutils-9.1/bin/install -c
checking whether ln -s works... yes
checking for ld... ld
checking version of ld... 2.41, ok
checking for gnumake... no
checking for gmake... no
checking for make... make
checking version of make... 4.4.1, ok
checking for gnumsgfmt... no
checking for gmsgfmt... no
checking for msgfmt... msgfmt
checking version of msgfmt... 0.21, ok
checking for makeinfo... makeinfo
checking version of makeinfo... 6.8, ok
checking for sed... sed
checking version of sed... 4.8, ok
checking for gawk... gawk
checking version of gawk... 5.3.0, ok
checking for bison... bison
checking version of bison... 3.8.2, ok
checking if gcc is sufficient to build libc... yes
checking for python3... python3
checking version of python3... 3.10.7, ok
checking for use of fpu sysdeps directories... yes
checking for -fstack-protector... yes
checking for -fstack-protector-strong... yes
checking for -fstack-protector-all... yes
checking for assembler and linker STT_GNU_IFUNC support... yes
checking for gcc attribute ifunc support... no
checking whether the linker supports textrels along with ifunc... yes
checking for GNU attribute retain support... no
checking if compiler warns about alias for function with incompatible types... no
checking sysdep dirs... sysdeps/unix/sysv/linux/aarch64 sysdeps/aarch64/nptl sysdeps/unix/sysv/linux/wordsize-64 sysdeps/unix/sysv/linux sysdeps/nptl sysdeps/pthread sysdeps/gnu sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix sysdeps/posix sysdeps/aarch64/fpu sysdeps/aarch64/multiarch sysdeps/aarch64 sysdeps/wordsize-64 sysdeps/ieee754/ldbl-128 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/ieee754 sysdeps/generic
checking LD_LIBRARY_PATH variable... ok
checking for bash... /gnu/store/d7q6yazfa1bxf4x7p9n3b99hn97q6bvw-bash-minimal-5.1.16/bin/bash
checking for perl... /gnu/store/vxb9lrvvxaqrx2lf3zsy4j4pl4yciqv5-perl-5.36.0/bin/perl
checking for install-info... /gnu/store/9wzn6dvcc4bg70dr0qd3zsvgz582xkqf-texinfo-6.8/bin/install-info
checking for .set assembler directive... yes
checking linker support for protected data symbol... no
checking linker support for INSERT in linker script... yes
checking for broken __attribute__((alias()))... no
checking whether to put _rtld_local into .sdata section... no
checking for libunwind-support in compiler... no
checking whether --noexecstack is desirable for .S files... yes
checking for linker that supports -z execstack... yes
checking for linker that supports -z start-stop-gc... yes
checking for linker that supports --depaudit... yes
checking for linker that supports -z pack-relative-relocs... no
checking for linker that supports --no-dynamic-linker... yes
checking for -static-pie... no
checking for -fpie... yes
checking for GLOB_DAT reloc... yes
checking for tls descriptor support... desc
checking if -Wno-ignored-attributes is required for aliases... 
checking whether cc puts quotes around section names... no
checking for __builtin_memset... no
checking for redirection of built-in functions... yes
checking for compiler option to disable generation of FMA instructions... -ffp-contract=off
checking for compiler option that -fsignaling-nans... -fsignaling-nans
checking if gcc accepts -fno-tree-loop-distribute-patterns with __attribute__ ((__optimize__))... yes
checking for libgd... no
checking for is_selinux_enabled in -lselinux... no
checking for maximum supported _FORTIFY_SOURCE level... 2
checking whether the assembler requires one version per symbol... no
checking for __builtin_trap with no external dependencies... yes
checking whether the C++ compiler supports thread_local... no
running configure fragment for sysdeps/unix/sysv/linux/aarch64
running configure fragment for sysdeps/unix/sysv/linux
checking installed Linux kernel header files... 3.2.0 or later
configure: WARNING: minimum kernel version reset to 3.7.0
checking for kernel header at least 3.7.0... ok
checking for symlinks in /gnu/store/2ibzg3n6krq0ghq8kzrmnc7kpbgzlg40-glibc-2.39/include... ok
running configure fragment for sysdeps/gnu
running configure fragment for sysdeps/aarch64
checking for grep that handles long lines and -e... (cached) /gnu/store/ysla2nchzpzpr9gwhwv2ihm26hriiqxg-grep-3.11/bin/grep
checking for egrep... (cached) /gnu/store/ysla2nchzpzpr9gwhwv2ihm26hriiqxg-grep-3.11/bin/grep -E
checking for big endian... no
checking for BTI support... no
checking if pac-ret is enabled... no
checking for variant PCS support... yes
checking for SVE support in assembler... yes
checking for availability of SVE ACLE... no
configure: WARNING: mathvec is enabled but compiler does not have SVE ACLE.
configure: error: use a compatible toolchain or configure with --disable-mathvec (this results in incomplete ABI).
error: in phase 'configure': uncaught exception:
%exception #<&invoke-error program: "/gnu/store/d7q6yazfa1bxf4x7p9n3b99hn97q6bvw-bash-minimal-5.1.16/bin/bash" arguments: ("../glibc-2.39/configure" "CONFIG_SHELL=/gnu/store/d7q6yazfa1bxf4x7p9n3b99hn97q6bvw-bash-minimal-5.1.16/bin/bash" "SHELL=/gnu/store/d7q6yazfa1bxf4x7p9n3b99hn97q6bvw-bash-minimal-5.1.16/bin/bash" "--prefix=/gnu/store/2ibzg3n6krq0ghq8kzrmnc7kpbgzlg40-glibc-2.39" "--enable-fast-install" "--build=aarch64-unknown-linux-gnu" "--disable-nscd" "--disable-build-nscd" "--enable-static-nss" "--sysconfdir=/etc" "libc_cv_complocaledir=/run/current-system/locale/2.39" "--with-headers=/gnu/store/rril5xnxnr7gs7i9rqw6qws05nmwn7lv-linux-libre-headers-5.15.49/include" "--enable-kernel=3.2.0" "BASH_SHELL=/gnu/store/d7q6yazfa1bxf4x7p9n3b99hn97q6bvw-bash-minimal-5.1.16/bin/bash") exit-status: 1 term-signal: #f stop-signal: #f> 
phase `configure' failed after 68.3 seconds
--8<---------------cut here---------------end--------------->8---

Is this expected?

-- 
Ricardo


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [core-updates] aarch64: Cannot build glibc-2.39
  2024-07-23 19:51 [core-updates] aarch64: Cannot build glibc-2.39 Ricardo Wurmus
@ 2024-07-31 21:50 ` Ricardo Wurmus
  2024-08-02 16:34   ` Ricardo Wurmus
  0 siblings, 1 reply; 8+ messages in thread
From: Ricardo Wurmus @ 2024-07-31 21:50 UTC (permalink / raw)
  To: guix-devel

Ricardo Wurmus <rekado@elephly.net> writes:

> I tried to deploy to my aarch64 system with Guix on core-updates.  This
> fails with a configure failure in the build of glibc 2.39.

You can reproduce this like so:

  ./pre-inst-env guix build -K --system=aarch64-linux -e \
      '((@@ (gnu packages make-bootstrap) glibc-for-bootstrap) (@ (gnu packages base) glibc))'

-- 
Ricardo


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [core-updates] aarch64: Cannot build glibc-2.39
  2024-07-31 21:50 ` Ricardo Wurmus
@ 2024-08-02 16:34   ` Ricardo Wurmus
  2024-08-12 14:01     ` Ludovic Courtès
  2024-08-13 16:52     ` Ludovic Courtès
  0 siblings, 2 replies; 8+ messages in thread
From: Ricardo Wurmus @ 2024-08-02 16:34 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 475 bytes --]

Ricardo Wurmus <rekado@elephly.net> writes:

> Ricardo Wurmus <rekado@elephly.net> writes:
>
>> I tried to deploy to my aarch64 system with Guix on core-updates.  This
>> fails with a configure failure in the build of glibc 2.39.
>
> You can reproduce this like so:
>
>   ./pre-inst-env guix build -K --system=aarch64-linux -e \
>       '((@@ (gnu packages make-bootstrap) glibc-for-bootstrap) (@ (gnu packages base) glibc))'

I was able to build that glibc with this diff:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: p.diff --]
[-- Type: text/x-patch, Size: 1591 bytes --]

diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index 8eed98d1fd..acd0033d1e 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -114,8 +114,14 @@ (define-public libgc/static-libs
    (arguments
     (substitute-keyword-arguments (package-arguments libgc)
       ((#:configure-flags flags #~'())
-       #~(cons "--enable-static" #$flags))))
-
+       #~(cons "--enable-static" #$flags))
+      ((#:make-flags flags #~'())
+       (cond
+        ((target-aarch64?)
+         ;; This is a known workaround upstream.
+         ;; https://github.com/ivmai/bdwgc/issues/479
+         #~(list "CFLAGS_EXTRA=-DNO_MPROTECT_VDB"))
+        (else flags)))))
    (properties '((hidden? . #t)))))
 
 (define-public libgc-7
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 63c84e93ef..0c513040d6 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -90,8 +90,11 @@ (define glibc-for-bootstrap
       ;; Make sure to build glibc with the same compiler version as the rest
       ;; of the bootstrap.  Otherwise it fails to statically link on aarch64.
       (native-inputs
-       `(("gcc" ,gcc-7)
-         ,@(package-native-inputs base)))
+       (if (target-aarch64?)
+           (modify-inputs (package-native-inputs base)
+             (replace "gcc" gcc-7))
+           `(("gcc" ,gcc-7)
+             ,@(package-native-inputs base))))
 
       ;; Remove the 'debug' output to allow bit-reproducible builds (when the
       ;; 'debug' output is used, ELF files end up with a .gnu_debuglink, which

[-- Attachment #3: Type: text/plain, Size: 1420 bytes --]


Does this diff make sense to you?  Should it be applied on core-updates
or are there objections?

I'm now failing at the build of guile-static-initrd:

--8<---------------cut here---------------start------------->8---
removing store references from `/gnu/store/wir05g46map9dd3y5sn3nwpblaydhmj5-guile-static-initrd-3.0.9/bin/guile'...
qemu-aarch64: Could not open '/gnu/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.39/lib/ld-linux-aarch64.so.1': No such file or directory
Backtrace:
           1 (primitive-load "/gnu/store/qizd8cfpajaf75hmkdn6a02k00p?")
In guix/build/utils.scm:
    822:6  0 (invoke "/gnu/store/wir05g46map9dd3y5sn3nwpblaydhmj5-g?" ?)

guix/build/utils.scm:822:6: In procedure invoke:
ERROR:
  1. &invoke-error:
      program: "/gnu/store/wir05g46map9dd3y5sn3nwpblaydhmj5-guile-static-initrd-3.0.9/bin/guile"
      arguments: ("--version")
      exit-status: 255
      term-signal: #f
      stop-signal: #f
builder for `/gnu/store/q4i9cf52196h31zslhjfjaf9fc9r9p2j-guile-static-initrd-3.0.9.drv' failed with exit code 1
build of /gnu/store/q4i9cf52196h31zslhjfjaf9fc9r9p2j-guile-static-initrd-3.0.9.drv failed
--8<---------------cut here---------------end--------------->8---

Perhaps that's because I'm using the qemu-binfmt service to build
aarch64 packages on my x86_64 laptop?

This seems to be the last package I need to be able to finish building
my aarch64 system on core-updates.

-- 
Ricardo

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [core-updates] aarch64: Cannot build glibc-2.39
  2024-08-02 16:34   ` Ricardo Wurmus
@ 2024-08-12 14:01     ` Ludovic Courtès
  2024-08-13 16:52     ` Ludovic Courtès
  1 sibling, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2024-08-12 14:01 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Hey Ricardo!

Ricardo Wurmus <rekado@elephly.net> skribis:

>> You can reproduce this like so:
>>
>>   ./pre-inst-env guix build -K --system=aarch64-linux -e \
>>       '((@@ (gnu packages make-bootstrap) glibc-for-bootstrap) (@ (gnu packages base) glibc))'
>
> I was able to build that glibc with this diff:
>
> diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
> index 8eed98d1fd..acd0033d1e 100644
> --- a/gnu/packages/bdw-gc.scm
> +++ b/gnu/packages/bdw-gc.scm
> @@ -114,8 +114,14 @@ (define-public libgc/static-libs
>     (arguments
>      (substitute-keyword-arguments (package-arguments libgc)
>        ((#:configure-flags flags #~'())
> -       #~(cons "--enable-static" #$flags))))
> -
> +       #~(cons "--enable-static" #$flags))
> +      ((#:make-flags flags #~'())
> +       (cond
> +        ((target-aarch64?)
> +         ;; This is a known workaround upstream.
> +         ;; https://github.com/ivmai/bdwgc/issues/479
> +         #~(list "CFLAGS_EXTRA=-DNO_MPROTECT_VDB"))
> +        (else flags)))))
>     (properties '((hidden? . #t)))))

This one LGTM, I think you can push it on ‘core-updates’.

> diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
> index 63c84e93ef..0c513040d6 100644
> --- a/gnu/packages/make-bootstrap.scm
> +++ b/gnu/packages/make-bootstrap.scm
> @@ -90,8 +90,11 @@ (define glibc-for-bootstrap
>        ;; Make sure to build glibc with the same compiler version as the rest
>        ;; of the bootstrap.  Otherwise it fails to statically link on aarch64.
>        (native-inputs
> -       `(("gcc" ,gcc-7)
> -         ,@(package-native-inputs base)))
> +       (if (target-aarch64?)
> +           (modify-inputs (package-native-inputs base)
> +             (replace "gcc" gcc-7))
> +           `(("gcc" ,gcc-7)
> +             ,@(package-native-inputs base))))

What’s the rationale here?  I would expect both to be almost equivalent.
At any rate, I would remove the ‘if’: it should be the same on all
platforms.

> I'm now failing at the build of guile-static-initrd:
>
> removing store references from `/gnu/store/wir05g46map9dd3y5sn3nwpblaydhmj5-guile-static-initrd-3.0.9/bin/guile'...
> qemu-aarch64: Could not open '/gnu/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.39/lib/ld-linux-aarch64.so.1': No such file or directory

This suggests that the ‘guile’ binary is not actually statically linked:
it has PT_INTERP set to ld-linux*.so.  This is surprising because
there’s no such problem on x86_64-linux.  Maybe one of the build flags
for static builds is getting lost somewhere?

Thanks,
Ludo’.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [core-updates] aarch64: Cannot build glibc-2.39
  2024-08-02 16:34   ` Ricardo Wurmus
  2024-08-12 14:01     ` Ludovic Courtès
@ 2024-08-13 16:52     ` Ludovic Courtès
  2024-08-14 13:31       ` Ludovic Courtès
  1 sibling, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2024-08-13 16:52 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 812 bytes --]

Ricardo Wurmus <rekado@elephly.net> skribis:

> Ricardo Wurmus <rekado@elephly.net> writes:
>
>> Ricardo Wurmus <rekado@elephly.net> writes:
>>
>>> I tried to deploy to my aarch64 system with Guix on core-updates.  This
>>> fails with a configure failure in the build of glibc 2.39.
>>
>> You can reproduce this like so:
>>
>>   ./pre-inst-env guix build -K --system=aarch64-linux -e \
>>       '((@@ (gnu packages make-bootstrap) glibc-for-bootstrap) (@ (gnu packages base) glibc))'
>
> I was able to build that glibc with this diff:

I’m testing this other patch below.  I can build ‘bootstrap-tarballs’
and ‘guile-initrd’ on x86_64-linux with it; the aarch64-linux build is
still ongoing and will take a while.

That would be a welcome simplification of all this.

Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 3409 bytes --]

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 63c84e93ef..13cf40d37b 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -87,12 +87,6 @@ (define glibc-for-bootstrap
                   "--enable-static-nss"
                   ,flags))))
 
-      ;; Make sure to build glibc with the same compiler version as the rest
-      ;; of the bootstrap.  Otherwise it fails to statically link on aarch64.
-      (native-inputs
-       `(("gcc" ,gcc-7)
-         ,@(package-native-inputs base)))
-
       ;; Remove the 'debug' output to allow bit-reproducible builds (when the
       ;; 'debug' output is used, ELF files end up with a .gnu_debuglink, which
       ;; includes a CRC of the corresponding debugging symbols; those symbols
@@ -103,13 +97,13 @@ (define gcc-for-bootstrap
   (mlambdaq (glibc)
     "Return a variant of GCC that uses the bootstrap variant of GLIBC."
     (package
-      (inherit gcc-7)
+      (inherit gcc)
       (outputs '("out")) ;all in one so libgcc_s is easily found
       (inputs
        `( ;; Distinguish the name so we can refer to it below.
          ("bootstrap-libc" ,(glibc-for-bootstrap glibc))
          ("libc:static" ,(glibc-for-bootstrap glibc) "static")
-         ,@(package-inputs gcc-7))))))
+         ,@(package-inputs gcc))))))
 
 (define (package-with-relocatable-glibc p)
   "Return a variant of P that uses the libc as defined by
@@ -148,7 +142,7 @@ (define (package-with-relocatable-glibc p)
                              (cons (search-path-specification
                                     (variable "CROSS_CPLUS_INCLUDE_PATH")
                                     (files '("include")))
-                                   (package-search-paths gcc-7)))))
+                                   (package-search-paths gcc)))))
             ("cross-binutils" ,(cross-binutils target))
             ,@(%final-inputs)))
         `(("libc" ,(glibc-for-bootstrap glibc))
@@ -472,11 +466,11 @@ (define (%glibc-stripped)
 (define %gcc-static
   ;; A statically-linked GCC, with stripped-down functionality.
   (package-with-relocatable-glibc
-   (package (inherit gcc-7)
+   (package (inherit gcc)
      (name "gcc-static")
      (outputs '("out"))                           ; all in one
      (arguments
-      (substitute-keyword-arguments (package-arguments gcc-7)
+      (substitute-keyword-arguments (package-arguments gcc)
         ((#:modules modules %default-gnu-modules)
          `((srfi srfi-1)
            (srfi srfi-26)
@@ -527,7 +521,7 @@ (define %gcc-static
      (inputs
       `(("zlib:static" ,zlib "static")
         ("isl:static" ,isl "static")
-        ,@(package-inputs gcc-7)))
+        ,@(package-inputs gcc)))
      (native-inputs
       (if (%current-target-system)
           `(;; When doing a Canadian cross, we need GMP/MPFR/MPC both
@@ -540,13 +534,13 @@ (define %gcc-static
             ("gmp-native" ,gmp)
             ("mpfr-native" ,mpfr)
             ("mpc-native" ,mpc)
-            ,@(package-native-inputs gcc-7))
-          (package-native-inputs gcc-7))))))
+            ,@(package-native-inputs gcc))
+          (package-native-inputs gcc))))))
 
 (define %gcc-stripped
   ;; The subset of GCC files needed for bootstrap.
   (package
-    (inherit gcc-7)
+    (inherit gcc)
     (name "gcc-stripped")
     (build-system trivial-build-system)
     (source #f)

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [core-updates] aarch64: Cannot build glibc-2.39
  2024-08-13 16:52     ` Ludovic Courtès
@ 2024-08-14 13:31       ` Ludovic Courtès
  2024-08-19 13:02         ` Ricardo Wurmus
  0 siblings, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2024-08-14 13:31 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Hi,

Ludovic Courtès <ludo@gnu.org> skribis:

>>>   ./pre-inst-env guix build -K --system=aarch64-linux -e \
>>>       '((@@ (gnu packages make-bootstrap) glibc-for-bootstrap) (@ (gnu packages base) glibc))'
>>
>> I was able to build that glibc with this diff:
>
> I’m testing this other patch below.  I can build ‘bootstrap-tarballs’
> and ‘guile-initrd’ on x86_64-linux with it; the aarch64-linux build is
> still ongoing and will take a while.

I confirm that the patch works on aarch64-linux (I didn’t even need the
libgc patch you posted earlier; was it addressing an issue related to
builds with GCC 7?).

I’ll go ahead and push this.

Next is a build issue with the statically-linked grep.

Ludo’.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [core-updates] aarch64: Cannot build glibc-2.39
  2024-08-14 13:31       ` Ludovic Courtès
@ 2024-08-19 13:02         ` Ricardo Wurmus
  2024-08-19 20:42           ` Ricardo Wurmus
  0 siblings, 1 reply; 8+ messages in thread
From: Ricardo Wurmus @ 2024-08-19 13:02 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Ludovic Courtès <ludo@gnu.org> writes:

> Ludovic Courtès <ludo@gnu.org> skribis:
>
>>>>   ./pre-inst-env guix build -K --system=aarch64-linux -e \
>>>>       '((@@ (gnu packages make-bootstrap) glibc-for-bootstrap) (@ (gnu packages base) glibc))'
>>>
>>> I was able to build that glibc with this diff:
>>
>> I’m testing this other patch below.  I can build ‘bootstrap-tarballs’
>> and ‘guile-initrd’ on x86_64-linux with it; the aarch64-linux build is
>> still ongoing and will take a while.
>
> I confirm that the patch works on aarch64-linux (I didn’t even need the
> libgc patch you posted earlier; was it addressing an issue related to
> builds with GCC 7?).

It was necessary for me to get past a build failure, but I'm happy if we
don't need it with your changes.

> I’ll go ahead and push this.

Thanks!

> Next is a build issue with the statically-linked grep.

I can test patches if you've got something.

-- 
Ricardo


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [core-updates] aarch64: Cannot build glibc-2.39
  2024-08-19 13:02         ` Ricardo Wurmus
@ 2024-08-19 20:42           ` Ricardo Wurmus
  0 siblings, 0 replies; 8+ messages in thread
From: Ricardo Wurmus @ 2024-08-19 20:42 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

I successfully deployed to my aarch64-linux machine (Rockpro64) on Guix
commit 1a30e510464f5d3232f80007328b9af4dd90c6d4.  Works without problems. 

-- 
Ricardo


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-08-19 20:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-23 19:51 [core-updates] aarch64: Cannot build glibc-2.39 Ricardo Wurmus
2024-07-31 21:50 ` Ricardo Wurmus
2024-08-02 16:34   ` Ricardo Wurmus
2024-08-12 14:01     ` Ludovic Courtès
2024-08-13 16:52     ` Ludovic Courtès
2024-08-14 13:31       ` Ludovic Courtès
2024-08-19 13:02         ` Ricardo Wurmus
2024-08-19 20:42           ` Ricardo Wurmus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).