From dcad5f70f111e32cf39d39b9d71366a48b3686e2 Mon Sep 17 00:00:00 2001 From: fanquake Date: Wed, 27 Apr 2022 08:32:09 +0100 Subject: [PATCH 1/2] guix: consolidate kernel headers to 5.15 Given no reason to use an older version of the kernel headers for the non-RISCV linux builds, consolidate all Linux builds to 5.15.x. Note that using older kernel headers isn't some sort of compatibility "hack", and glibc explicitly recommends against doing so. See: https://sourceware.org/glibc/wiki/FAQ#What_version_of_the_Linux_kernel_headers_should_be_used.3F. --- contrib/guix/manifest.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/contrib/guix/manifest.scm b/contrib/guix/manifest.scm index 9f8a4008cf1..b61c2b88992 100644 --- a/contrib/guix/manifest.scm +++ b/contrib/guix/manifest.scm @@ -130,6 +130,7 @@ chain for " target " development.")) (license (package-license xgcc))))) (define base-gcc gcc-10) +(define base-linux-kernel-headers linux-libre-headers-5.15) ;; Building glibc with stack smashing protector first landed in glibc 2.25, use ;; this function to disable for older glibcs @@ -148,7 +149,7 @@ chain for " target " development.")) (define* (make-bitcoin-cross-toolchain target #:key (base-gcc-for-libc gcc-7) - (base-kernel-headers linux-libre-headers-4.9) + (base-kernel-headers base-linux-kernel-headers) (base-libc (make-glibc-without-ssp glibc-2.24)) (base-gcc (make-gcc-rpath-link base-gcc))) "Convenience wrapper around MAKE-CROSS-TOOLCHAIN with default values @@ -604,7 +605,7 @@ inspecting signatures in Mach-O binaries.") (cond ((string-contains target "riscv64-") (make-bitcoin-cross-toolchain target #:base-libc glibc-2.27/bitcoin-patched - #:base-kernel-headers linux-libre-headers-4.19)) + #:base-kernel-headers base-linux-kernel-headers)) (else (make-bitcoin-cross-toolchain target))))) ((string-contains target "darwin") From eb02713efc1751e2c4b60f72f5b407e2bc35af34 Mon Sep 17 00:00:00 2001 From: fanquake Date: Wed, 27 Apr 2022 15:40:46 +0100 Subject: [PATCH 2/2] doc: add minimum required kernel version to dependencies.md This matches the version of the kernel targeted when we build the glibcs we use for release builds in Guix. Other versions / scenerios may work, but for documentation purposes, this is the version that makes sense to document, and something we can claim to officially support. --- doc/dependencies.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/dependencies.md b/doc/dependencies.md index 392078bfaf4..697d432520e 100644 --- a/doc/dependencies.md +++ b/doc/dependencies.md @@ -20,6 +20,7 @@ You can find installation instructions in the `build-*.md` file for your platfor | [Boost](../depends/packages/boost.mk) | [link](https://www.boost.org/users/download/) | [1.77.0](https://github.com/bitcoin/bitcoin/pull/24383) | [1.64.0](https://github.com/bitcoin/bitcoin/pull/22320) | No | | [libevent](../depends/packages/libevent.mk) | [link](https://github.com/libevent/libevent/releases) | [2.1.12-stable](https://github.com/bitcoin/bitcoin/pull/21991) | [2.1.8](https://github.com/bitcoin/bitcoin/pull/24681) | No | | glibc | [link](https://www.gnu.org/software/libc/) | N/A | [2.18](https://github.com/bitcoin/bitcoin/pull/23511) | Yes | +| Linux Kernel | [link](https://www.kernel.org/) | N/A | 3.2.0 | Yes | ## Optional