GNU bug report logs - #44750
[PATCH] gnu: gcc-arm-none-eabi: Fix C++ header location

Previous Next

Package: guix-patches;

Reported by: Morgan.J.Smith <at> outlook.com

Date: Fri, 20 Nov 2020 01:18:02 UTC

Severity: normal

Tags: patch

Done: Efraim Flashner <efraim <at> flashner.co.il>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 44750 in the body.
You can then email your comments to 44750 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#44750; Package guix-patches. (Fri, 20 Nov 2020 01:18:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Morgan.J.Smith <at> outlook.com:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 20 Nov 2020 01:18:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Morgan.J.Smith <at> outlook.com
To: guix-patches <at> gnu.org
Cc: Morgan Smith <Morgan.J.Smith <at> outlook.com>
Subject: [PATCH] gnu: gcc-arm-none-eabi: Fix C++ header location
Date: Thu, 19 Nov 2020 20:16:51 -0500
From: Morgan Smith <Morgan.J.Smith <at> outlook.com>

* gnu/packages/embedded.scm (gcc-arm-none-eabi-4.9)[native-search-paths]:
Change C++ header location to include/c++

* gnu/packages/embedded.scm (gcc-arm-none-eabi-7-2018-q2-update)[native-search-paths]:
Change C++ header location to include/c++

* gnu/packages/embedded.scm (make-libstdc++-arm-none-eabi)[arguments]: Change
C++ header install location to include/c++

Previously the headers where installed in the include folder, overwriting the
C headers that where there previously
---
 gnu/packages/embedded.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index d6f487bd17..1af266e8cd 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2018, 2019 Clément Lassieur <clement <at> lassieur.org>
 ;;; Copyright © 2020 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>
+;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith <at> outlook.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -143,7 +144,7 @@
               (files '("arm-none-eabi/include")))
              (search-path-specification
               (variable "CROSS_CPLUS_INCLUDE_PATH")
-              (files '("arm-none-eabi/include")))
+              (files '("arm-none-eabi/include/c++")))
              (search-path-specification
               (variable "CROSS_LIBRARY_PATH")
               (files '("arm-none-eabi/lib"))))))))
@@ -313,7 +314,7 @@ usable on embedded products.")
               (files '("arm-none-eabi/include")))
              (search-path-specification
               (variable "CROSS_CPLUS_INCLUDE_PATH")
-              (files '("arm-none-eabi/include")))
+              (files '("arm-none-eabi/include/c++")))
              (search-path-specification
               (variable "CROSS_LIBRARY_PATH")
               (files '("arm-none-eabi/lib"))))))))
@@ -376,7 +377,7 @@ usable on embedded products.")
              "--with-newlib"
              ,(string-append "--with-gxx-include-dir="
                              (assoc-ref %outputs "out")
-                             "/arm-none-eabi/include")))))
+                             "/arm-none-eabi/include/c++")))))
       (native-inputs
        `(("newlib" ,newlib)
          ("xgcc" ,xgcc)
-- 
2.29.2





Information forwarded to guix-patches <at> gnu.org:
bug#44750; Package guix-patches. (Mon, 30 Nov 2020 17:07:02 GMT) Full text and rfc822 format available.

Message #8 received at 44750 <at> debbugs.gnu.org (full text, mbox):

From: Morgan.J.Smith <at> outlook.com
To: 44750 <at> debbugs.gnu.org
Cc: Morgan Smith <Morgan.J.Smith <at> outlook.com>
Subject: [PATCH v2] gnu: gcc-arm-none-eabi: Fix C++ header location
Date: Mon, 30 Nov 2020 12:04:08 -0500
From: Morgan Smith <Morgan.J.Smith <at> outlook.com>

* gnu/packages/embedded.scm (gcc-arm-none-eabi-4.9)[native-search-paths]:
Add C++ header location

* gnu/packages/embedded.scm (gcc-arm-none-eabi-7-2018-q2-update)[native-search-paths]:
Add C++ header location

* gnu/packages/embedded.scm (make-libstdc++-arm-none-eabi)[arguments]: Change
C++ header install location to include/c++

Previously the C++ headers where installed in the include folder, overwriting
some C headers
---

Apparently I needed to keep the original include directories as well. This
patch actually builds unlike the last one. I've successfully used the generated
arm-none-eabi to build a project that required stdlib.h (one of the headers
that got overridden)

---
 gnu/packages/embedded.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index d6f487bd17..73375a211d 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2018, 2019 Clément Lassieur <clement <at> lassieur.org>
 ;;; Copyright © 2020 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>
+;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith <at> outlook.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -143,7 +144,7 @@
               (files '("arm-none-eabi/include")))
              (search-path-specification
               (variable "CROSS_CPLUS_INCLUDE_PATH")
-              (files '("arm-none-eabi/include")))
+              (files '("arm-none-eabi/include" "arm-none-eabi/include/c++")))
              (search-path-specification
               (variable "CROSS_LIBRARY_PATH")
               (files '("arm-none-eabi/lib"))))))))
@@ -313,7 +314,7 @@ usable on embedded products.")
               (files '("arm-none-eabi/include")))
              (search-path-specification
               (variable "CROSS_CPLUS_INCLUDE_PATH")
-              (files '("arm-none-eabi/include")))
+              (files '("arm-none-eabi/include" "arm-none-eabi/include/c++")))
              (search-path-specification
               (variable "CROSS_LIBRARY_PATH")
               (files '("arm-none-eabi/lib"))))))))
@@ -376,7 +377,7 @@ usable on embedded products.")
              "--with-newlib"
              ,(string-append "--with-gxx-include-dir="
                              (assoc-ref %outputs "out")
-                             "/arm-none-eabi/include")))))
+                             "/arm-none-eabi/include/c++")))))
       (native-inputs
        `(("newlib" ,newlib)
          ("xgcc" ,xgcc)
-- 
2.29.2





Information forwarded to guix-patches <at> gnu.org:
bug#44750; Package guix-patches. (Mon, 30 Nov 2020 19:13:01 GMT) Full text and rfc822 format available.

Message #11 received at 44750 <at> debbugs.gnu.org (full text, mbox):

From: Morgan.J.Smith <at> outlook.com
To: 44750 <at> debbugs.gnu.org
Subject: I've done more testing
Date: Mon, 30 Nov 2020 14:09:16 -0500
So I had previously only tested this when it was in my profile. I decided to
check if other packages that depend on this worked. I determined that the
following packages depend on arm-none-eabi: axoloti-runtime, axoloti-patcher,
axoloti-patcher-next, arm-trusted-firmware-rk3399, rk3399-cortex-m0,
raspi-arm-chainloader.

With these two patches, everything builds for me except raspi-arm-chainloader
but according to this, that package never built:
https://data.guix.gnu.org/repository/1/branch/master/package/raspi-arm-chainloader/output-history






Information forwarded to guix-patches <at> gnu.org:
bug#44750; Package guix-patches. (Mon, 30 Nov 2020 19:13:02 GMT) Full text and rfc822 format available.

Message #14 received at 44750 <at> debbugs.gnu.org (full text, mbox):

From: Morgan.J.Smith <at> outlook.com
To: 44750 <at> debbugs.gnu.org
Cc: Morgan Smith <Morgan.J.Smith <at> outlook.com>
Subject: [PATCH v3 1/2] gnu: gcc-arm-none-eabi: Fix C++ header location
Date: Mon, 30 Nov 2020 14:09:18 -0500
From: Morgan Smith <Morgan.J.Smith <at> outlook.com>

* gnu/packages/embedded.scm (gcc-arm-none-eabi-4.9)[native-search-paths]:
Add C++ header locations

* gnu/packages/embedded.scm (gcc-arm-none-eabi-7-2018-q2-update)[native-search-paths]:
Add C++ header locations

* gnu/packages/embedded.scm (make-libstdc++-arm-none-eabi)[arguments]: Change
C++ header install location to include/c++

Previously the C++ headers where installed in the include folder, overwriting
some C headers
---
 gnu/packages/embedded.scm | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index d6f487bd17..d2e2e6a676 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2018, 2019 Clément Lassieur <clement <at> lassieur.org>
 ;;; Copyright © 2020 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>
+;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith <at> outlook.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -143,7 +144,9 @@
               (files '("arm-none-eabi/include")))
              (search-path-specification
               (variable "CROSS_CPLUS_INCLUDE_PATH")
-              (files '("arm-none-eabi/include")))
+              (files '("arm-none-eabi/include"
+                       "arm-none-eabi/include/c++"
+                       "arm-none-eabi/include/c++/arm-none-eabi")))
              (search-path-specification
               (variable "CROSS_LIBRARY_PATH")
               (files '("arm-none-eabi/lib"))))))))
@@ -313,7 +316,9 @@ usable on embedded products.")
               (files '("arm-none-eabi/include")))
              (search-path-specification
               (variable "CROSS_CPLUS_INCLUDE_PATH")
-              (files '("arm-none-eabi/include")))
+              (files '("arm-none-eabi/include"
+                       "arm-none-eabi/include/c++"
+                       "arm-none-eabi/include/c++/arm-none-eabi")))
              (search-path-specification
               (variable "CROSS_LIBRARY_PATH")
               (files '("arm-none-eabi/lib"))))))))
@@ -376,7 +381,7 @@ usable on embedded products.")
              "--with-newlib"
              ,(string-append "--with-gxx-include-dir="
                              (assoc-ref %outputs "out")
-                             "/arm-none-eabi/include")))))
+                             "/arm-none-eabi/include/c++")))))
       (native-inputs
        `(("newlib" ,newlib)
          ("xgcc" ,xgcc)
-- 
2.29.2





Information forwarded to guix-patches <at> gnu.org:
bug#44750; Package guix-patches. (Mon, 30 Nov 2020 19:13:02 GMT) Full text and rfc822 format available.

Message #17 received at 44750 <at> debbugs.gnu.org (full text, mbox):

From: Morgan.J.Smith <at> outlook.com
To: 44750 <at> debbugs.gnu.org
Cc: Morgan Smith <Morgan.J.Smith <at> outlook.com>
Subject: [PATCH v3 2/2] gnu: axoloti-runtime: Update C++ header location
Date: Mon, 30 Nov 2020 14:09:20 -0500
From: Morgan Smith <Morgan.J.Smith <at> outlook.com>

* gnu/packages/axoloti.scm (axoloti-runtime)[phase][build]: Update
arm-none-eabi C++ header locations
---
 gnu/packages/axoloti.scm | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/axoloti.scm b/gnu/packages/axoloti.scm
index 2a5cf8e0fc..580e18e894 100644
--- a/gnu/packages/axoloti.scm
+++ b/gnu/packages/axoloti.scm
@@ -142,13 +142,23 @@
            ;; Build Axoloti firmware with cross-compiler
            (lambda* (#:key inputs #:allow-other-keys)
              (let* ((toolchain (assoc-ref inputs "cross-toolchain"))
-                    (headers   (string-append
-                                toolchain
-                                "/arm-none-eabi/include:"
-                                toolchain
-                                "/arm-none-eabi/include/arm-none-eabi/armv7e-m")))
-               (setenv "CROSS_CPATH" headers)
-               (setenv "CROSS_CPLUS_INCLUDE_PATH" headers)
+                    (c-headers
+                     (string-append
+                      toolchain
+                      "/arm-none-eabi/include:"
+                      toolchain
+                      "/arm-none-eabi/include/arm-none-eabi/armv7e-m"))
+                    (c++-headers
+                     (string-append
+                      toolchain
+                      "/arm-none-eabi/include/c++:"
+                      toolchain
+                      "/arm-none-eabi/include/c++/arm-none-eabi:"
+                      toolchain
+                      "/arm-none-eabi/include/arm-none-eabi/c++/arm-none-eabi/armv7e-m:"
+                      c-headers)))
+               (setenv "CROSS_CPATH" c-headers)
+               (setenv "CROSS_CPLUS_INCLUDE_PATH" c++-headers)
                (setenv "CROSS_LIBRARY_PATH"
                        (string-append toolchain
                                       "/arm-none-eabi/lib")))
-- 
2.29.2





Information forwarded to guix-patches <at> gnu.org:
bug#44750; Package guix-patches. (Wed, 07 Apr 2021 18:16:01 GMT) Full text and rfc822 format available.

Message #20 received at 44750 <at> debbugs.gnu.org (full text, mbox):

From: Morgan.J.Smith <at> outlook.com
To: 44750 <at> debbugs.gnu.org
Cc: Morgan Smith <Morgan.J.Smith <at> outlook.com>
Subject: [PATCH v4] gnu: axoloti-runtime: Simplify build
Date: Wed,  7 Apr 2021 14:14:56 -0400
From: Morgan Smith <Morgan.J.Smith <at> outlook.com>

* gnu/packages/axoloti.scm (axoloti-runtime)[arguments][phases][build]: Remove
unnecessary environment variable assignments
---
 gnu/packages/axoloti.scm | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/gnu/packages/axoloti.scm b/gnu/packages/axoloti.scm
index 3049051486..0b12e4fe29 100644
--- a/gnu/packages/axoloti.scm
+++ b/gnu/packages/axoloti.scm
@@ -147,18 +147,7 @@ (define-public axoloti-runtime
          (delete 'configure)
          (replace 'build
            ;; Build Axoloti firmware with cross-compiler
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let* ((toolchain (assoc-ref inputs "cross-toolchain"))
-                    (headers   (string-append
-                                toolchain
-                                "/arm-none-eabi/include:"
-                                toolchain
-                                "/arm-none-eabi/include/arm-none-eabi/armv7e-m")))
-               (setenv "CROSS_CPATH" headers)
-               (setenv "CROSS_CPLUS_INCLUDE_PATH" headers)
-               (setenv "CROSS_LIBRARY_PATH"
-                       (string-append toolchain
-                                      "/arm-none-eabi/lib")))
+           (lambda _
              (with-directory-excursion "platform_linux"
                (invoke "sh" "compile_firmware.sh"))))
          (replace 'install
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#44750; Package guix-patches. (Wed, 07 Apr 2021 19:11:01 GMT) Full text and rfc822 format available.

Message #23 received at 44750 <at> debbugs.gnu.org (full text, mbox):

From: Morgan.J.Smith <at> outlook.com
To: 44750 <at> debbugs.gnu.org
Cc: Morgan Smith <Morgan.J.Smith <at> outlook.com>
Subject: [PATCH v5 1/2] gnu: gcc-arm-none-eabi: Fix C++ header location
Date: Wed,  7 Apr 2021 15:09:46 -0400
From: Morgan Smith <Morgan.J.Smith <at> outlook.com>

* gnu/packages/embedded.scm (gcc-arm-none-eabi-4.9)[native-search-paths]:
Add C++ header locations

* gnu/packages/embedded.scm (gcc-arm-none-eabi-7-2018-q2-update)[native-search-paths]:
Add C++ header locations

* gnu/packages/embedded.scm (make-libstdc++-arm-none-eabi)[arguments]: Change
C++ header install location to include/c++

Previously the C++ headers where installed in the include folder, overwriting
some C headers
---
 gnu/packages/embedded.scm | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 413760ab72..a3f1d85580 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -147,7 +147,9 @@ (define-public gcc-arm-none-eabi-4.9
               (files '("arm-none-eabi/include")))
              (search-path-specification
               (variable "CROSS_CPLUS_INCLUDE_PATH")
-              (files '("arm-none-eabi/include")))
+              (files '("arm-none-eabi/include"
+                       "arm-none-eabi/include/c++"
+                       "arm-none-eabi/include/c++/arm-none-eabi")))
              (search-path-specification
               (variable "CROSS_LIBRARY_PATH")
               (files '("arm-none-eabi/lib"))))))))
@@ -317,7 +319,9 @@ (define-public gcc-arm-none-eabi-7-2018-q2-update
               (files '("arm-none-eabi/include")))
              (search-path-specification
               (variable "CROSS_CPLUS_INCLUDE_PATH")
-              (files '("arm-none-eabi/include")))
+              (files '("arm-none-eabi/include"
+                       "arm-none-eabi/include/c++"
+                       "arm-none-eabi/include/c++/arm-none-eabi")))
              (search-path-specification
               (variable "CROSS_LIBRARY_PATH")
               (files '("arm-none-eabi/lib"))))))))
@@ -380,7 +384,7 @@ (define (make-libstdc++-arm-none-eabi xgcc newlib)
              "--with-newlib"
              ,(string-append "--with-gxx-include-dir="
                              (assoc-ref %outputs "out")
-                             "/arm-none-eabi/include")))))
+                             "/arm-none-eabi/include/c++")))))
       (native-inputs
        `(("newlib" ,newlib)
          ("xgcc" ,xgcc)
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#44750; Package guix-patches. (Wed, 07 Apr 2021 19:11:01 GMT) Full text and rfc822 format available.

Message #26 received at 44750 <at> debbugs.gnu.org (full text, mbox):

From: Morgan.J.Smith <at> outlook.com
To: 44750 <at> debbugs.gnu.org
Cc: Morgan Smith <Morgan.J.Smith <at> outlook.com>
Subject: [PATCH v5 2/2] gnu: axoloti-runtime: Simplify build
Date: Wed,  7 Apr 2021 15:09:47 -0400
From: Morgan Smith <Morgan.J.Smith <at> outlook.com>

* gnu/packages/axoloti.scm (axoloti-runtime)[arguments][phases][build]: Remove
unnecessary environment variable assignments
---
 gnu/packages/axoloti.scm | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/gnu/packages/axoloti.scm b/gnu/packages/axoloti.scm
index 3049051486..0b12e4fe29 100644
--- a/gnu/packages/axoloti.scm
+++ b/gnu/packages/axoloti.scm
@@ -147,18 +147,7 @@ (define-public axoloti-runtime
          (delete 'configure)
          (replace 'build
            ;; Build Axoloti firmware with cross-compiler
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let* ((toolchain (assoc-ref inputs "cross-toolchain"))
-                    (headers   (string-append
-                                toolchain
-                                "/arm-none-eabi/include:"
-                                toolchain
-                                "/arm-none-eabi/include/arm-none-eabi/armv7e-m")))
-               (setenv "CROSS_CPATH" headers)
-               (setenv "CROSS_CPLUS_INCLUDE_PATH" headers)
-               (setenv "CROSS_LIBRARY_PATH"
-                       (string-append toolchain
-                                      "/arm-none-eabi/lib")))
+           (lambda _
              (with-directory-excursion "platform_linux"
                (invoke "sh" "compile_firmware.sh"))))
          (replace 'install
-- 
2.31.1





Reply sent to Efraim Flashner <efraim <at> flashner.co.il>:
You have taken responsibility. (Thu, 08 Apr 2021 08:14:02 GMT) Full text and rfc822 format available.

Notification sent to Morgan.J.Smith <at> outlook.com:
bug acknowledged by developer. (Thu, 08 Apr 2021 08:14:02 GMT) Full text and rfc822 format available.

Message #31 received at 44750-done <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Morgan.J.Smith <at> outlook.com
Cc: 44750-done <at> debbugs.gnu.org
Subject: Re: [bug#44750] [PATCH v5 1/2] gnu: gcc-arm-none-eabi: Fix C++
 header location
Date: Thu, 8 Apr 2021 11:12:48 +0300
[Message part 1 (text/plain, inline)]
Pushed these two patches after testing the dependant packages still
build. Sorry for taking such a long time to return to them.

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 06 May 2021 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 353 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.