diff options
author | Marius Bakke <mbakke@fastmail.com> | 2019-06-06 19:33:05 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2019-06-16 09:34:39 +0200 |
commit | 871dbd6c6e2414353045cf5f5d0045fff945f862 (patch) | |
tree | 537d322984c0ed2c75f11b74cc09ef951f1e3677 /gnu/packages/cross-base.scm | |
parent | 3f151d90a3ceb9445305ba84588ea56b802e5ce5 (diff) | |
download | guix-871dbd6c6e2414353045cf5f5d0045fff945f862.tar.gz |
gnu: cross-base: Fix C++ cross-compilation problems with GCC 7.
* gnu/packages/cross-base.scm (cross-gcc-arguments)[#:configure-flags]: Add "--with-sysroot=/".
Diffstat (limited to 'gnu/packages/cross-base.scm')
-rw-r--r-- | gnu/packages/cross-base.scm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 3d36dc6198..3fc9ba6540 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++" |