guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: glibc: Refer to the target kernel headers when cross-compili


From: Ludovic Courtès
Subject: 01/01: gnu: glibc: Refer to the target kernel headers when cross-compiling.
Date: Sun, 29 May 2016 22:18:18 +0000 (UTC)

civodul pushed a commit to branch master
in repository guix.

commit 28dc10a455689c807abc9241ed1094d902a9d9fa
Author: Ludovic Courtès <address@hidden>
Date:   Sun May 29 23:15:14 2016 +0200

    gnu: glibc: Refer to the target kernel headers when cross-compiling.
    
    This fixes a regression introduced in
    efc4eb147512fa7a2c6d74d9b296cfc22b1ef198 whereby the build process
    corresponding to 'guix build glibc --target=mips64el-linux-gnu' would
    refer to the native headers instead of the target headers, leading to a
    build failure:
    
      ../sysdeps/unix/sysv/linux/statfs64.c: In function ‘__statfs64’:
      ../sysdeps/unix/sysv/linux/statfs64.c:73:1: error: control reaches end of 
non-void function [-Werror=return-type]
       }
       ^
    
    When we were using CROSS_CPATH instead of CROSS_C_INCLUDE_PATH, the
    problem was hidden by the fact that CPATH corresponds to '-I' whereas
    C_INCLUDE_PATH corresponds to '-isystem', and '-isystem' directories are
    searched after '-I' directories.
    
    * gnu/packages/base.scm (glibc)[arguments]: Refer to the kernel headers
    from '%build-target-inputs' when cross-building.
---
 gnu/packages/base.scm |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index beb689e..b5e229e 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -532,7 +532,10 @@ store.")
                            ,version)
 
             (string-append "--with-headers="
-                           (assoc-ref %build-inputs "linux-headers")
+                           (assoc-ref ,(if (%current-target-system)
+                                           '%build-target-inputs
+                                           '%build-inputs)
+                                      "linux-headers")
                            "/include")
 
             ;; This is the default for most architectures as of GNU libc 2.21,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]