Subject: Re: [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.

From: Marius Bakke <[email-masked]>
Date: Wed, 06 Feb 2019 21:23:56 +0100

Efraim Flashner <[email-masked]> writes:

> On Sat, Jan 19, 2019 at 07:09:04PM +0200, Efraim Flashner wrote:
>> 
>> I'm going to see if I can build hello --target=arm-linux-gnueabihf next
>> and see how that works.
>
> When I get to gcc-cross-arm-linux-gnueabihf it fails during configure,
> cannot find gmp.h. Looking at (gnu packages cross-base), I don't think
> there are any package-inputs for xgcc. I still thought gcc bundled its
> own gmp et. al.

I'm happy to report that the cross-compilation issues are resolved with
this trivial patch:

2 files changed, 5 insertions(+), 11 deletions(-)
gnu/build/cross-toolchain.scm | 9 +++------
gnu/packages/cross-base.scm   | 7 ++-----

modified   gnu/build/cross-toolchain.scm
@@ -36,11 +36,8 @@
 
 (define %gcc-include-paths
   ;; Environment variables for header search paths.
-  ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
-  '("C_INCLUDE_PATH"
-    "CPLUS_INCLUDE_PATH"
-    "OBJC_INCLUDE_PATH"
-    "OBJCPLUS_INCLUDE_PATH"))
+  ;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co.
+  '("CPATH"))
 
 (define %gcc-cross-include-paths
   ;; Search path for target headers when cross-compiling.
@@ -179,7 +176,7 @@ a target triplet."
             ;; header" such that #include_next does the right thing.
             (for-each (lambda (var)
                         (setenv var (string-append libc "/include")))
-                      '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")))
+                      '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH")))
           #t)))
     (add-after 'install 'make-cross-binutils-visible
       (cut make-cross-binutils-visible #:target target <...>))
modified   gnu/packages/cross-base.scm
@@ -51,11 +51,8 @@
 
 (define %gcc-include-paths
   ;; Environment variables for header search paths.
-  ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
-  '("C_INCLUDE_PATH"
-    "CPLUS_INCLUDE_PATH"
-    "OBJC_INCLUDE_PATH"
-    "OBJCPLUS_INCLUDE_PATH"))
+  ;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co.
+  '("CPATH"))
 
 (define %gcc-cross-include-paths
   ;; Search path for target headers when cross-compiling.

[back]

Silly me for not catching the CROSS_C_INCLUDE_PATH issue earlier.  But,
at least I got to know the GCC build processes and GDB better...  ;-)

I will commit this series shortly and work on a followup patch that
removes the various GCC5/C++14 workarounds in one go.