* bug#37593: [core-updates] Linux-Libre fails to build on aarch64-linux @ 2019-10-02 20:47 Marius Bakke 2019-10-02 22:09 ` Pierre Langlois 0 siblings, 1 reply; 5+ messages in thread From: Marius Bakke @ 2019-10-02 20:47 UTC (permalink / raw) To: 37593 [-- Attachment #1: Type: text/plain, Size: 2211 bytes --] Berlin fails to build "linux-libre" for AArch64 on the 'core-updates' branch. Here is a recent attempt: https://ci.guix.gnu.org/build/1758844/details Log file for the latest build: https://ci.guix.gnu.org/log/aq2rnrmjsgnyk8vmsm7aa3mgdj39dcwh-linux-libre-5.2.17.drv This seems to be the salient bit: CC [M] arch/arm64/lib/xor-neon.o In file included from /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/stdint.h:34:0, from /gnu/store/yckkivhynk4hjcr0iry9vbcyc0lqqnxj-gcc-7.4.0-lib/lib/gcc/aarch64-unknown-linux-gnu/7.4.0/include/arm_neon.h:33, from ./arch/arm64/include/asm/neon-intrinsics.h:33, from arch/arm64/lib/xor-neon.c:11: /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/bits/stdint-intn.h:27:19: error: conflicting types for 'int64_t' typedef __int64_t int64_t; ^~~~~~~ In file included from ./include/linux/list.h:5:0, from ./include/linux/module.h:9, from arch/arm64/lib/xor-neon.c:10: ./include/linux/types.h:114:15: note: previous declaration of 'int64_t' was here typedef s64 int64_t; ^~~~~~~ In file included from /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/stdint.h:37:0, from /gnu/store/yckkivhynk4hjcr0iry9vbcyc0lqqnxj-gcc-7.4.0-lib/lib/gcc/aarch64-unknown-linux-gnu/7.4.0/include/arm_neon.h:33, from ./arch/arm64/include/asm/neon-intrinsics.h:33, from arch/arm64/lib/xor-neon.c:11: /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/bits/stdint-uintn.h:27:20: error: conflicting types for 'uint64_t' typedef __uint64_t uint64_t; ^~~~~~~~ In file included from ./include/linux/list.h:5:0, from ./include/linux/module.h:9, from arch/arm64/lib/xor-neon.c:10: ./include/linux/types.h:112:15: note: previous declaration of 'uint64_t' was here typedef u64 uint64_t; ^~~~~~~~ make[1]: *** [scripts/Makefile.build:285: arch/arm64/lib/xor-neon.o] Error 1 make: *** [Makefile:1073: arch/arm64/lib] Error 2 make: *** Waiting for unfinished jobs.... Not sure what's going on here. Ideas? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#37593: [core-updates] Linux-Libre fails to build on aarch64-linux 2019-10-02 20:47 bug#37593: [core-updates] Linux-Libre fails to build on aarch64-linux Marius Bakke @ 2019-10-02 22:09 ` Pierre Langlois 2019-10-05 12:38 ` Marius Bakke 0 siblings, 1 reply; 5+ messages in thread From: Pierre Langlois @ 2019-10-02 22:09 UTC (permalink / raw) To: 37593 Hi Marius, Marius Bakke writes: > Berlin fails to build "linux-libre" for AArch64 on the 'core-updates' > branch. Here is a recent attempt: > > https://ci.guix.gnu.org/build/1758844/details > > Log file for the latest build: > > https://ci.guix.gnu.org/log/aq2rnrmjsgnyk8vmsm7aa3mgdj39dcwh-linux-libre-5.2.17.drv > > This seems to be the salient bit: > > CC [M] arch/arm64/lib/xor-neon.o > In file included from /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/stdint.h:34:0, > from /gnu/store/yckkivhynk4hjcr0iry9vbcyc0lqqnxj-gcc-7.4.0-lib/lib/gcc/aarch64-unknown-linux-gnu/7.4.0/include/arm_neon.h:33, > from ./arch/arm64/include/asm/neon-intrinsics.h:33, > from arch/arm64/lib/xor-neon.c:11: > /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/bits/stdint-intn.h:27:19: error: conflicting types for 'int64_t' > typedef __int64_t int64_t; > ^~~~~~~ > In file included from ./include/linux/list.h:5:0, > from ./include/linux/module.h:9, > from arch/arm64/lib/xor-neon.c:10: > ./include/linux/types.h:114:15: note: previous declaration of 'int64_t' was here > typedef s64 int64_t; > ^~~~~~~ > In file included from /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/stdint.h:37:0, > from /gnu/store/yckkivhynk4hjcr0iry9vbcyc0lqqnxj-gcc-7.4.0-lib/lib/gcc/aarch64-unknown-linux-gnu/7.4.0/include/arm_neon.h:33, > from ./arch/arm64/include/asm/neon-intrinsics.h:33, > from arch/arm64/lib/xor-neon.c:11: > /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/bits/stdint-uintn.h:27:20: error: conflicting types for 'uint64_t' > typedef __uint64_t uint64_t; > ^~~~~~~~ > In file included from ./include/linux/list.h:5:0, > from ./include/linux/module.h:9, > from arch/arm64/lib/xor-neon.c:10: > ./include/linux/types.h:112:15: note: previous declaration of 'uint64_t' was here > typedef u64 uint64_t; > ^~~~~~~~ > make[1]: *** [scripts/Makefile.build:285: arch/arm64/lib/xor-neon.o] Error 1 > make: *** [Makefile:1073: arch/arm64/lib] Error 2 > make: *** Waiting for unfinished jobs.... > > Not sure what's going on here. Ideas? Ha, that looks familiar, the same issue happened back in July: https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00175.html I don't think we worked out what was the problem exactly though :-/ Thanks, Pierre ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#37593: [core-updates] Linux-Libre fails to build on aarch64-linux 2019-10-02 22:09 ` Pierre Langlois @ 2019-10-05 12:38 ` Marius Bakke 2019-10-05 16:01 ` Gábor Boskovits 0 siblings, 1 reply; 5+ messages in thread From: Marius Bakke @ 2019-10-05 12:38 UTC (permalink / raw) To: Pierre Langlois, 37593 [-- Attachment #1.1: Type: text/plain, Size: 2679 bytes --] Pierre Langlois <pierre.langlois@gmx.com> writes: > Hi Marius, > > Marius Bakke writes: > >> Berlin fails to build "linux-libre" for AArch64 on the 'core-updates' >> branch. Here is a recent attempt: >> >> https://ci.guix.gnu.org/build/1758844/details >> >> Log file for the latest build: >> >> https://ci.guix.gnu.org/log/aq2rnrmjsgnyk8vmsm7aa3mgdj39dcwh-linux-libre-5.2.17.drv >> >> This seems to be the salient bit: >> >> CC [M] arch/arm64/lib/xor-neon.o >> In file included from /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/stdint.h:34:0, >> from /gnu/store/yckkivhynk4hjcr0iry9vbcyc0lqqnxj-gcc-7.4.0-lib/lib/gcc/aarch64-unknown-linux-gnu/7.4.0/include/arm_neon.h:33, >> from ./arch/arm64/include/asm/neon-intrinsics.h:33, >> from arch/arm64/lib/xor-neon.c:11: >> /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/bits/stdint-intn.h:27:19: error: conflicting types for 'int64_t' >> typedef __int64_t int64_t; >> ^~~~~~~ >> In file included from ./include/linux/list.h:5:0, >> from ./include/linux/module.h:9, >> from arch/arm64/lib/xor-neon.c:10: >> ./include/linux/types.h:114:15: note: previous declaration of 'int64_t' was here >> typedef s64 int64_t; >> ^~~~~~~ >> In file included from /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/stdint.h:37:0, >> from /gnu/store/yckkivhynk4hjcr0iry9vbcyc0lqqnxj-gcc-7.4.0-lib/lib/gcc/aarch64-unknown-linux-gnu/7.4.0/include/arm_neon.h:33, >> from ./arch/arm64/include/asm/neon-intrinsics.h:33, >> from arch/arm64/lib/xor-neon.c:11: >> /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/bits/stdint-uintn.h:27:20: error: conflicting types for 'uint64_t' >> typedef __uint64_t uint64_t; >> ^~~~~~~~ >> In file included from ./include/linux/list.h:5:0, >> from ./include/linux/module.h:9, >> from arch/arm64/lib/xor-neon.c:10: >> ./include/linux/types.h:112:15: note: previous declaration of 'uint64_t' was here >> typedef u64 uint64_t; >> ^~~~~~~~ >> make[1]: *** [scripts/Makefile.build:285: arch/arm64/lib/xor-neon.o] Error 1 >> make: *** [Makefile:1073: arch/arm64/lib] Error 2 >> make: *** Waiting for unfinished jobs.... >> >> Not sure what's going on here. Ideas? > > Ha, that looks familiar, the same issue happened back in July: > https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00175.html > > I don't think we worked out what was the problem exactly though :-/ So I was able to build it with this patch: [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1.2: 0001-gnu-linux-libre-Hide-glibc-from-CPATH-during-build.patch --] [-- Type: text/x-patch, Size: 1968 bytes --] From 43d2ab5a046e5da378f062cb2885c1345278d378 Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke@berlin.guixsd.org> Date: Fri, 4 Oct 2019 21:36:42 +0200 Subject: [PATCH] gnu: linux-libre: Hide glibc from CPATH during build. Fixes <https://bugs.gnu.org/37593>. * gnu/packages/linux.scm (make-linux-libre*)[arguments]: Drop "libc" from CPATH. --- gnu/packages/linux.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index dda95c29ac..525b18d1e2 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -663,6 +663,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." `(#:modules ((guix build gnu-build-system) (guix build utils) (srfi srfi-1) + (srfi srfi-26) (ice-9 match)) #:phases (modify-phases %standard-phases @@ -679,6 +680,18 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." ,@(if (%current-target-system) '((unsetenv "CROSS_CPATH")) '()) + + ;; On AArch64 (at least), we need to remove glibc headers from CPATH + ;; (they are still available as "system headers"), so that the kernel + ;; can override uint64_t. See <https://bugs.gnu.org/37593>. + (setenv "CPATH" + (string-join + (remove (cut string-prefix? (assoc-ref inputs "libc") <>) + (string-split (getenv "CPATH") #\:)) + ":")) + (format #t "environment variable `CPATH' changed to `~a'~%" + (getenv "CPATH")) + ;; Avoid introducing timestamps (setenv "KCONFIG_NOTIMESTAMP" "1") (setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH")) -- 2.23.0 [-- Attachment #1.3: Type: text/plain, Size: 41 bytes --] It's not very pretty though. Thoughts? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply related [flat|nested] 5+ messages in thread
* bug#37593: [core-updates] Linux-Libre fails to build on aarch64-linux 2019-10-05 12:38 ` Marius Bakke @ 2019-10-05 16:01 ` Gábor Boskovits 2019-10-06 16:13 ` Marius Bakke 0 siblings, 1 reply; 5+ messages in thread From: Gábor Boskovits @ 2019-10-05 16:01 UTC (permalink / raw) To: Marius Bakke; +Cc: 37593 [-- Attachment #1: Type: text/plain, Size: 3394 bytes --] Hello Marius, Marius Bakke <mbakke@fastmail.com> ezt írta (időpont: 2019. okt. 5., Szo, 14:40): > Pierre Langlois <pierre.langlois@gmx.com> writes: > > > Hi Marius, > > > > Marius Bakke writes: > > > >> Berlin fails to build "linux-libre" for AArch64 on the 'core-updates' > >> branch. Here is a recent attempt: > >> > >> https://ci.guix.gnu.org/build/1758844/details > >> > >> Log file for the latest build: > >> > >> > https://ci.guix.gnu.org/log/aq2rnrmjsgnyk8vmsm7aa3mgdj39dcwh-linux-libre-5.2.17.drv > >> > >> This seems to be the salient bit: > >> > >> CC [M] arch/arm64/lib/xor-neon.o > >> In file included from > /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/stdint.h:34:0, > >> from > /gnu/store/yckkivhynk4hjcr0iry9vbcyc0lqqnxj-gcc-7.4.0-lib/lib/gcc/aarch64-unknown-linux-gnu/7.4.0/include/arm_neon.h:33, > >> from ./arch/arm64/include/asm/neon-intrinsics.h:33, > >> from arch/arm64/lib/xor-neon.c:11: > >> > /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/bits/stdint-intn.h:27:19: > error: conflicting types for 'int64_t' > >> typedef __int64_t int64_t; > >> ^~~~~~~ > >> In file included from ./include/linux/list.h:5:0, > >> from ./include/linux/module.h:9, > >> from arch/arm64/lib/xor-neon.c:10: > >> ./include/linux/types.h:114:15: note: previous declaration of 'int64_t' > was here > >> typedef s64 int64_t; > >> ^~~~~~~ > >> In file included from > /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/stdint.h:37:0, > >> from > /gnu/store/yckkivhynk4hjcr0iry9vbcyc0lqqnxj-gcc-7.4.0-lib/lib/gcc/aarch64-unknown-linux-gnu/7.4.0/include/arm_neon.h:33, > >> from ./arch/arm64/include/asm/neon-intrinsics.h:33, > >> from arch/arm64/lib/xor-neon.c:11: > >> > /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/bits/stdint-uintn.h:27:20: > error: conflicting types for 'uint64_t' > >> typedef __uint64_t uint64_t; > >> ^~~~~~~~ > >> In file included from ./include/linux/list.h:5:0, > >> from ./include/linux/module.h:9, > >> from arch/arm64/lib/xor-neon.c:10: > >> ./include/linux/types.h:112:15: note: previous declaration of > 'uint64_t' was here > >> typedef u64 uint64_t; > >> ^~~~~~~~ > >> make[1]: *** [scripts/Makefile.build:285: arch/arm64/lib/xor-neon.o] > Error 1 > >> make: *** [Makefile:1073: arch/arm64/lib] Error 2 > >> make: *** Waiting for unfinished jobs.... > >> > >> Not sure what's going on here. Ideas? > > > > Ha, that looks familiar, the same issue happened back in July: > > https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00175.html > > > > I don't think we worked out what was the problem exactly though :-/ > > So I was able to build it with this patch: > > > It's not very pretty though. Thoughts? > I believe that we encountered similar CPATH related problems earlier, which were fixed by pathes like this, so it looks good to me. Maybe it would worth investigating the pattern though, and create some generic mechanism to deal with it. Wdyt? Best regards, g_bor -- OpenPGP Key Fingerprint: 7988:3B9F:7D6A:4DBF:3719:0367:2506:A96C:CF63:0B21 [-- Attachment #2: Type: text/html, Size: 4827 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#37593: [core-updates] Linux-Libre fails to build on aarch64-linux 2019-10-05 16:01 ` Gábor Boskovits @ 2019-10-06 16:13 ` Marius Bakke 0 siblings, 0 replies; 5+ messages in thread From: Marius Bakke @ 2019-10-06 16:13 UTC (permalink / raw) To: Gábor Boskovits; +Cc: 37593-done [-- Attachment #1: Type: text/plain, Size: 3933 bytes --] Gábor Boskovits <boskovits@gmail.com> writes: > Hello Marius, > > Marius Bakke <mbakke@fastmail.com> ezt írta (időpont: 2019. okt. 5., Szo, > 14:40): > >> Pierre Langlois <pierre.langlois@gmx.com> writes: >> >> > Hi Marius, >> > >> > Marius Bakke writes: >> > >> >> Berlin fails to build "linux-libre" for AArch64 on the 'core-updates' >> >> branch. Here is a recent attempt: >> >> >> >> https://ci.guix.gnu.org/build/1758844/details >> >> >> >> Log file for the latest build: >> >> >> >> >> https://ci.guix.gnu.org/log/aq2rnrmjsgnyk8vmsm7aa3mgdj39dcwh-linux-libre-5.2.17.drv >> >> >> >> This seems to be the salient bit: >> >> >> >> CC [M] arch/arm64/lib/xor-neon.o >> >> In file included from >> /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/stdint.h:34:0, >> >> from >> /gnu/store/yckkivhynk4hjcr0iry9vbcyc0lqqnxj-gcc-7.4.0-lib/lib/gcc/aarch64-unknown-linux-gnu/7.4.0/include/arm_neon.h:33, >> >> from ./arch/arm64/include/asm/neon-intrinsics.h:33, >> >> from arch/arm64/lib/xor-neon.c:11: >> >> >> /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/bits/stdint-intn.h:27:19: >> error: conflicting types for 'int64_t' >> >> typedef __int64_t int64_t; >> >> ^~~~~~~ >> >> In file included from ./include/linux/list.h:5:0, >> >> from ./include/linux/module.h:9, >> >> from arch/arm64/lib/xor-neon.c:10: >> >> ./include/linux/types.h:114:15: note: previous declaration of 'int64_t' >> was here >> >> typedef s64 int64_t; >> >> ^~~~~~~ >> >> In file included from >> /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/stdint.h:37:0, >> >> from >> /gnu/store/yckkivhynk4hjcr0iry9vbcyc0lqqnxj-gcc-7.4.0-lib/lib/gcc/aarch64-unknown-linux-gnu/7.4.0/include/arm_neon.h:33, >> >> from ./arch/arm64/include/asm/neon-intrinsics.h:33, >> >> from arch/arm64/lib/xor-neon.c:11: >> >> >> /gnu/store/nr1aw4i32h7rmxwmq7d2da0mwcwg551j-glibc-2.29/include/bits/stdint-uintn.h:27:20: >> error: conflicting types for 'uint64_t' >> >> typedef __uint64_t uint64_t; >> >> ^~~~~~~~ >> >> In file included from ./include/linux/list.h:5:0, >> >> from ./include/linux/module.h:9, >> >> from arch/arm64/lib/xor-neon.c:10: >> >> ./include/linux/types.h:112:15: note: previous declaration of >> 'uint64_t' was here >> >> typedef u64 uint64_t; >> >> ^~~~~~~~ >> >> make[1]: *** [scripts/Makefile.build:285: arch/arm64/lib/xor-neon.o] >> Error 1 >> >> make: *** [Makefile:1073: arch/arm64/lib] Error 2 >> >> make: *** Waiting for unfinished jobs.... >> >> >> >> Not sure what's going on here. Ideas? >> > >> > Ha, that looks familiar, the same issue happened back in July: >> > https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00175.html >> > >> > I don't think we worked out what was the problem exactly though :-/ >> >> So I was able to build it with this patch: >> >> >> It's not very pretty though. Thoughts? >> > > I believe that we encountered similar CPATH related problems earlier, which > were fixed by pathes like this, so it looks good to me. Maybe it would > worth investigating the pattern though, and create some generic mechanism > to deal with it. Wdyt? I don't think we've had to remove libc from CPATH before. We could do that in gnu-build-system if it becomes a pattern. A more general solution to the CPATH vs C_INCLUDE_PATH problem could be to present GCC a union of all the inputs as C_INCLUDE_PATH, because I suspect the main problem is having multiple entries in arbitrary order. Not sure if that would help this particular issue though. In any case I pushed the fix as c5ceec4150f6a6cdc1b64781afa2d05547cf8542. Thanks for the feedback! [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-10-06 16:14 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-10-02 20:47 bug#37593: [core-updates] Linux-Libre fails to build on aarch64-linux Marius Bakke 2019-10-02 22:09 ` Pierre Langlois 2019-10-05 12:38 ` Marius Bakke 2019-10-05 16:01 ` Gábor Boskovits 2019-10-06 16:13 ` Marius Bakke
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.