guix-commits
[Top][All Lists]
Advanced

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

13/14: gnu: cross-base: Fix C++ cross-compilation problems with GCC 7.


From: guix-commits
Subject: 13/14: gnu: cross-base: Fix C++ cross-compilation problems with GCC 7.
Date: Sun, 16 Jun 2019 03:44:56 -0400 (EDT)

mbakke pushed a commit to branch core-updates
in repository guix.

commit 871dbd6c6e2414353045cf5f5d0045fff945f862
Author: Marius Bakke <address@hidden>
Date:   Thu Jun 6 19:33:05 2019 +0200

    gnu: cross-base: Fix C++ cross-compilation problems with GCC 7.
    
    * gnu/packages/cross-base.scm (cross-gcc-arguments)[#:configure-flags]: Add
    "--with-sysroot=/".
---
 gnu/packages/cross-base.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 3d36dc6..3fc9ba6 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -121,7 +121,15 @@ base compiler and using LIBC (which may be either a libc 
package or #f.)"
                        ,@(if libc
                              `( ;; Disable libcilkrts because it is not
                                 ;; ported to GNU/Hurd.
-                               "--disable-libcilkrts")
+                               "--disable-libcilkrts"
+                               ;; When building a cross compiler, 
--with-sysroot is
+                               ;; implicitly set to "$gcc_tooldir/sys-root".  
This does
+                               ;; not work for us, because 
--with-native-system-header-dir
+                               ;; is searched for relative to this location.  
Thus, we set
+                               ;; it to "/" so GCC is able to find the target 
libc headers.
+                               ;; This is safe because in practice GCC uses 
CROSS_CPATH
+                               ;; & co to separate target and host libraries.
+                               "--with-sysroot=/")
                              `( ;; Disable features not needed at this stage.
                                "--disable-shared" "--enable-static"
                                "--enable-languages=c,c++"



reply via email to

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