mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 22:08:16 -05:00
gnu: make-bootstrap: Build with GCC 11 instead of GCC 7.
This fixes a glibc-for-bootstrap build issue on aarch64-linux. * gnu/packages/make-bootstrap.scm (glibc-for-bootstrap)[native-inputs]: Remove. (gcc-for-bootstrap, package-with-relocatable-glibc) (%gcc-static, %gcc-stripped): Depend on ‘gcc’ instead of ‘gcc-7’. Reported-by: Ricardo Wurmus <rekado@elephly.net> Change-Id: Ia7f62f9674873087aa20a9d7da8d25d94b215e5c
This commit is contained in:
parent
c1fbcc7489
commit
9fe0e5b353
1 changed files with 9 additions and 15 deletions
|
@ -87,12 +87,6 @@ (define glibc-for-bootstrap
|
||||||
"--enable-static-nss"
|
"--enable-static-nss"
|
||||||
,flags))))
|
,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
|
;; Remove the 'debug' output to allow bit-reproducible builds (when the
|
||||||
;; 'debug' output is used, ELF files end up with a .gnu_debuglink, which
|
;; 'debug' output is used, ELF files end up with a .gnu_debuglink, which
|
||||||
;; includes a CRC of the corresponding debugging symbols; those symbols
|
;; includes a CRC of the corresponding debugging symbols; those symbols
|
||||||
|
@ -103,13 +97,13 @@ (define gcc-for-bootstrap
|
||||||
(mlambdaq (glibc)
|
(mlambdaq (glibc)
|
||||||
"Return a variant of GCC that uses the bootstrap variant of GLIBC."
|
"Return a variant of GCC that uses the bootstrap variant of GLIBC."
|
||||||
(package
|
(package
|
||||||
(inherit gcc-7)
|
(inherit gcc)
|
||||||
(outputs '("out")) ;all in one so libgcc_s is easily found
|
(outputs '("out")) ;all in one so libgcc_s is easily found
|
||||||
(inputs
|
(inputs
|
||||||
`( ;; Distinguish the name so we can refer to it below.
|
`( ;; Distinguish the name so we can refer to it below.
|
||||||
("bootstrap-libc" ,(glibc-for-bootstrap glibc))
|
("bootstrap-libc" ,(glibc-for-bootstrap glibc))
|
||||||
("libc:static" ,(glibc-for-bootstrap glibc) "static")
|
("libc:static" ,(glibc-for-bootstrap glibc) "static")
|
||||||
,@(package-inputs gcc-7))))))
|
,@(package-inputs gcc))))))
|
||||||
|
|
||||||
(define (package-with-relocatable-glibc p)
|
(define (package-with-relocatable-glibc p)
|
||||||
"Return a variant of P that uses the libc as defined by
|
"Return a variant of P that uses the libc as defined by
|
||||||
|
@ -148,7 +142,7 @@ (define (native-inputs)
|
||||||
(cons (search-path-specification
|
(cons (search-path-specification
|
||||||
(variable "CROSS_CPLUS_INCLUDE_PATH")
|
(variable "CROSS_CPLUS_INCLUDE_PATH")
|
||||||
(files '("include")))
|
(files '("include")))
|
||||||
(package-search-paths gcc-7)))))
|
(package-search-paths gcc)))))
|
||||||
("cross-binutils" ,(cross-binutils target))
|
("cross-binutils" ,(cross-binutils target))
|
||||||
,@(%final-inputs)))
|
,@(%final-inputs)))
|
||||||
`(("libc" ,(glibc-for-bootstrap glibc))
|
`(("libc" ,(glibc-for-bootstrap glibc))
|
||||||
|
@ -472,11 +466,11 @@ (define (%glibc-stripped)
|
||||||
(define %gcc-static
|
(define %gcc-static
|
||||||
;; A statically-linked GCC, with stripped-down functionality.
|
;; A statically-linked GCC, with stripped-down functionality.
|
||||||
(package-with-relocatable-glibc
|
(package-with-relocatable-glibc
|
||||||
(package (inherit gcc-7)
|
(package (inherit gcc)
|
||||||
(name "gcc-static")
|
(name "gcc-static")
|
||||||
(outputs '("out")) ; all in one
|
(outputs '("out")) ; all in one
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments gcc-7)
|
(substitute-keyword-arguments (package-arguments gcc)
|
||||||
((#:modules modules %default-gnu-modules)
|
((#:modules modules %default-gnu-modules)
|
||||||
`((srfi srfi-1)
|
`((srfi srfi-1)
|
||||||
(srfi srfi-26)
|
(srfi srfi-26)
|
||||||
|
@ -527,7 +521,7 @@ (define %gcc-static
|
||||||
(inputs
|
(inputs
|
||||||
`(("zlib:static" ,zlib "static")
|
`(("zlib:static" ,zlib "static")
|
||||||
("isl:static" ,isl "static")
|
("isl:static" ,isl "static")
|
||||||
,@(package-inputs gcc-7)))
|
,@(package-inputs gcc)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(if (%current-target-system)
|
(if (%current-target-system)
|
||||||
`(;; When doing a Canadian cross, we need GMP/MPFR/MPC both
|
`(;; When doing a Canadian cross, we need GMP/MPFR/MPC both
|
||||||
|
@ -540,13 +534,13 @@ (define %gcc-static
|
||||||
("gmp-native" ,gmp)
|
("gmp-native" ,gmp)
|
||||||
("mpfr-native" ,mpfr)
|
("mpfr-native" ,mpfr)
|
||||||
("mpc-native" ,mpc)
|
("mpc-native" ,mpc)
|
||||||
,@(package-native-inputs gcc-7))
|
,@(package-native-inputs gcc))
|
||||||
(package-native-inputs gcc-7))))))
|
(package-native-inputs gcc))))))
|
||||||
|
|
||||||
(define %gcc-stripped
|
(define %gcc-stripped
|
||||||
;; The subset of GCC files needed for bootstrap.
|
;; The subset of GCC files needed for bootstrap.
|
||||||
(package
|
(package
|
||||||
(inherit gcc-7)
|
(inherit gcc)
|
||||||
(name "gcc-stripped")
|
(name "gcc-stripped")
|
||||||
(build-system trivial-build-system)
|
(build-system trivial-build-system)
|
||||||
(source #f)
|
(source #f)
|
||||||
|
|
Loading…
Reference in a new issue