From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:42301) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1grVsD-0001Q6-LN for guix-patches@gnu.org; Wed, 06 Feb 2019 17:40:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1grVoU-0002mG-Bw for guix-patches@gnu.org; Wed, 06 Feb 2019 17:37:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:37031) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1grVoU-0002mA-09 for guix-patches@gnu.org; Wed, 06 Feb 2019 17:37:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1grVoT-00028D-St for guix-patches@gnu.org; Wed, 06 Feb 2019 17:37:01 -0500 Subject: [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler. Resent-Message-ID: References: <20181006131420.8131-1-mbakke@fastmail.com> <87ftxjhux0.fsf@fastmail.com> <87a7krb5hf.fsf@gnu.org> <20181229175833.GU2581@macbook41> <8736psiu9h.fsf@fastmail.com> <20190119170904.GF25281@macbook41> <20190119200119.GA13339@macbook41> <871s4kpswz.fsf@fastmail.com> From: Ricardo Wurmus In-reply-to: <871s4kpswz.fsf@fastmail.com> Date: Wed, 06 Feb 2019 23:35:24 +0100 Message-ID: <87ftt0fsur.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Marius Bakke Cc: 32953@debbugs.gnu.org Hi Marius, > Efraim Flashner 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 for why not 'CPATH'. > - '("C_INCLUDE_PATH" > - "CPLUS_INCLUDE_PATH" > - "OBJC_INCLUDE_PATH" > - "OBJCPLUS_INCLUDE_PATH")) > + ;; Note: See 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 for why not 'CPATH'. > - '("C_INCLUDE_PATH" > - "CPLUS_INCLUDE_PATH" > - "OBJC_INCLUDE_PATH" > - "OBJCPLUS_INCLUDE_PATH")) > + ;; Note: See 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. Will this break compilation with GCC5 and older, when they are installed in a profile or used as inputs? Do we need copies of these variables and use different variants for different compiler versions? -- Ricardo