GNU bug report logs - #32953
[PATCH core-updates-next 0/8] Use GCC7 as the default compiler.

Previous Next

Package: guix-patches;

Reported by: Marius Bakke <mbakke <at> fastmail.com>

Date: Sat, 6 Oct 2018 13:15:02 UTC

Severity: normal

Tags: patch

Done: Marius Bakke <mbakke <at> fastmail.com>

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 32953 in the body.
You can then email your comments to 32953 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#32953; Package guix-patches. (Sat, 06 Oct 2018 13:15:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Marius Bakke <mbakke <at> fastmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 06 Oct 2018 13:15:02 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
Date: Sat,  6 Oct 2018 15:14:20 +0200
Guix,

Here are patches that allow building the world with GCC7.

The cross-toolchain and bootstrap tarballs need more work, but native
x86_64 at least is largely fine.

Marius Bakke (8):
  gnu: Remove gcc-for-libstdc++.
  gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
  gnu: gcc-boot0: Improve gcc-wrapper workarounds.
  gnu: Remove duplicate linux-libre-headers package from bootstrap
    inputs.
  gnu: Use GCC 7 as the default compiler.
  gnu: python: Fix FTBFS with GCC >= 6.
  gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system
    libraries.
  gnu: cppunit: Update to 1.14.0.

 gnu/packages/check.scm                        | 21 +-----
 gnu/packages/cmake.scm                        |  3 +-
 gnu/packages/commencement.scm                 | 74 +++++++++----------
 gnu/packages/gcc.scm                          |  8 +-
 gnu/packages/libreoffice.scm                  |  2 +-
 .../patches/python-2.7-search-paths.patch     |  4 +-
 .../patches/python-3-search-paths.patch       |  4 +-
 7 files changed, 49 insertions(+), 67 deletions(-)

-- 
2.19.0





Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Sat, 06 Oct 2018 13:17:01 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: 32953 <at> debbugs.gnu.org
Subject: [PATCH core-updates-next 1/8] gnu: Remove gcc-for-libstdc++.
Date: Sat,  6 Oct 2018 15:16:32 +0200
* gnu/packages/commencement.scm (gcc-for-libstdc++): Remove variable.
(libstdc++-boot0): Inherit GCC-4.9 instead.
---
 gnu/packages/commencement.scm | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 4c7a38134..46d2a4629 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1699,25 +1699,12 @@ exec " gcc "/bin/" program
                     ,cf)))))
      (inputs (%boot0-inputs)))))
 
-;; Use a "fixed" package source for this early libstdc++ variant so we can
-;; update GCC 4.9 without triggering a full rebuild.
-(define gcc-for-libstdc++
-  (package
-    (inherit gcc-4.9)
-    (source (origin
-              (inherit (package-source gcc-4.9))
-              (patches (search-patches "gcc-4.9-libsanitizer-fix.patch"
-                                       "gcc-arm-bug-71399.patch"
-                                       "gcc-asan-missing-include.patch"
-                                       "gcc-libvtv-runpath.patch"
-                                       "gcc-fix-texi2pod.patch"))))))
-
 (define libstdc++-boot0
   ;; GCC's libcc1 is always built as a shared library (the top-level
   ;; 'Makefile.def' forcefully adds --enable-shared) and thus needs to refer
   ;; to libstdc++.so.  We cannot build libstdc++-5.3 because it relies on
   ;; C++14 features missing in some of our bootstrap compilers.
-  (let ((lib (package-with-bootstrap-guile (make-libstdc++ gcc-for-libstdc++))))
+  (let ((lib (package-with-bootstrap-guile (make-libstdc++ gcc-4.9))))
     (package
       (inherit lib)
       (name "libstdc++-boot0")
-- 
2.19.0





Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Sat, 06 Oct 2018 13:17:02 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: 32953 <at> debbugs.gnu.org
Subject: [PATCH core-updates-next 2/8] gnu: libstdc++-boot0: Improve
 gcc-wrapper workaround.
Date: Sat,  6 Oct 2018 15:16:33 +0200
* gnu/packages/commencement.scm (libstdc++-boot0): Adjust the configure script
instead of copying libstdc++.so from %BOOT0-INPUTS.
---
 gnu/packages/commencement.scm | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 46d2a4629..c4f112578 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1720,17 +1720,13 @@ exec " gcc "/bin/" program
               (substitute-keyword-arguments (package-arguments lib)
                 ((#:phases phases)
                  `(modify-phases ,phases
-                    ;; FIXME: why doesn't this package build libstdc++.so.6.0.20,
-                    ;; when gcc-mesboot builds it fine?
-                    ;; libtool: install: /gnu/store/7swwdnq02lqk4xkd8740fxdj1h4va38l-bootstrap-binaries-0/bin/install -c .libs/libstdc++.so.6.0.20 /gnu/store/np5pmdlwfin3vmqk88chh0fgs0ncki79-libstdc++-boot0-4.8.5/lib/libstdc++.so.6.0.20
-                    ;; /gnu/store/7swwdnq02lqk4xkd8740fxdj1h4va38l-bootstrap-binaries-0/bin/install: cannot stat '.libs/libstdc++.so.6.0.20': No such file or directory
-                    (add-after 'build 'copy-libstdc++-
-                      (lambda* (#:key outputs #:allow-other-keys)
-                        (let ((gcc (assoc-ref %build-inputs "gcc"))
-                              (out (assoc-ref outputs "out")))
-                          (copy-file (string-append gcc "/lib/libstdc++.so.6.0.20")
-                                     (string-append "src/.libs/libstdc++.so.6.0.20"))
-                          #t)))))))
+                    (add-after 'unpack 'workaround-wrapper-bug
+                      ;; XXX: The crude gcc-cross-wrapper causes "g++ -v" to
+                      ;; fail, which in turn confuses the configure script.
+                      (lambda _
+                        (substitute* "libstdc++-v3/configure"
+                          (("g\\+\\+ -v") "true"))
+                        #t))))))
              (_ (package-arguments lib)))))
       (inputs (%boot0-inputs))
       (native-inputs '()))))
-- 
2.19.0





Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Sat, 06 Oct 2018 13:17:02 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: 32953 <at> debbugs.gnu.org
Subject: [PATCH core-updates-next 3/8] gnu: gcc-boot0: Improve gcc-wrapper
 workarounds.
Date: Sat,  6 Oct 2018 15:16:34 +0200
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Adjust the libcc1
build scripts instead of copying libcc1.so from %BOOT0-INPUTS.
---
 gnu/packages/commencement.scm | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index c4f112578..5bfd314c6 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1810,13 +1810,18 @@ exec " gcc "/bin/" program
                       #t)))
                 ,(match (%current-system)
                    ((or "i686-linux" "x86_64-linux")
-                    '(add-after 'build 'libtool-workaround
-                      (lambda _
-                        ;; libtool: install: /gnu/store/7swwdnq02lqk4xkd8740fxdj1h4va38l-bootstrap-binaries-0/bin/install -c .libs/libcc1.so.0.0.0 /gnu/store/8qf47i99nxz9jvrmq5va0g3q1yvs3x74-gcc-cross-boot0-5.5.0-lib/lib/./libcc1.so.0.0.0
-                        ;; /gnu/store/7swwdnq02lqk4xkd8740fxdj1h4va38l-bootstrap-binaries-0/bin/install: cannot stat '.libs/libcc1.so.0.0.0': No such file or directory
-                        (system* "touch"
-                                 "libcc1/.libs/libcc1.so.0.0.0"
-                                 "libcc1/.libs/libcc1plugin.so.0.0.0"))))
+                    '(add-before 'configure 'fix-libcc1
+                      (lambda* (#:key inputs #:allow-other-keys)
+                        ;; libcc1.so NEEDs libgcc_s.so, so provide one here
+                        ;; to placate the 'validate-runpath' phase.
+                        (substitute* "libcc1/Makefile.in"
+                          (("la_LDFLAGS =")
+                           (string-append "la_LDFLAGS = -Wl,-rpath="
+                                          (assoc-ref inputs "gcc") "/lib")))
+                        ;; XXX: "g++ -v" is broken (see also libstdc++ above).
+                        (substitute* "libcc1/configure"
+                          (("g\\+\\+ -v") "true"))
+                        #t)))
                    (_ identity))
                 (add-after 'install 'symlink-libgcc_eh
                   (lambda* (#:key outputs #:allow-other-keys)
-- 
2.19.0





Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Sat, 06 Oct 2018 13:17:03 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: 32953 <at> debbugs.gnu.org
Subject: [PATCH core-updates-next 4/8] gnu: Remove duplicate
 linux-libre-headers package from bootstrap inputs.
Date: Sat,  6 Oct 2018 15:16:35 +0200
GLIBC-FINAL already propagates linux-libre-headers, so drop the bootstrap input.

* gnu/packages/commencement.scm (%boot2-inputs): Remove
%BOOTSTRAP-LINUX-LIBRE-HEADERS.
---
 gnu/packages/commencement.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 5bfd314c6..6dfa89315 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2274,7 +2274,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
   `(("libc" ,glibc-final)
     ("libc:static" ,glibc-final "static")
     ("gcc" ,(gcc-boot0-wrapped))
-    ,@(fold alist-delete (%boot1-inputs) '("libc" "gcc"))))
+    ,@(fold alist-delete (%boot1-inputs) '("libc" "gcc" "linux-libre-headers"))))
 
 (define binutils-final
   (package-with-bootstrap-guile
-- 
2.19.0





Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Sat, 06 Oct 2018 13:17:03 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: 32953 <at> debbugs.gnu.org
Subject: [PATCH core-updates-next 5/8] gnu: Use GCC 7 as the default compiler.
Date: Sat,  6 Oct 2018 15:16:36 +0200
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Add "--disable-libmpx"
to #:configure-flags.
(gcc-final): Add phase to set C_INCLUDE_PATH and CPLUS_INCLUDE_PATH.
* gnu/packages/gcc.scm (gcc): Is now GCC-7.
(gfortran): Is now GFORTRAN-7.
(gcc-objc): Is now GCC-OBJC-7.
(gcc-objc++): Is now GCC-OBJC++-7.
* gnu/packages/commencement.scm (gcc-toolchain-5): Use MAKE-GCC-TOOLCHAIN.
(gcc-toolchain-7): Is now GCC-TOOLCHAIN.
---
 gnu/packages/commencement.scm | 20 +++++++++++++++-----
 gnu/packages/gcc.scm          |  8 ++++----
 2 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 6dfa89315..5bcd98584 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1765,6 +1765,7 @@ exec " gcc "/bin/" program
                             "--disable-libsanitizer"
                             "--disable-libitm"
                             "--disable-libgomp"
+                            "--disable-libmpx"
                             "--disable-libcilkrts"
                             "--disable-libvtv"
                             "--disable-libssp"
@@ -2393,6 +2394,15 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
                                            char-set:letter)
                                          ,(package-name lib)))
                              (list gmp-6.0 mpfr mpc))
+                      #t)))
+                (add-before 'configure 'treat-glibc-as-system-header
+                  (lambda* (#:key inputs #:allow-other-keys)
+                    (let ((libc (assoc-ref inputs "libc")))
+                      ;; Make sure Glibc is treated as a "system header" so
+                      ;; #include_next does the right thing.
+                      (for-each (lambda (var)
+                                  (setenv var (string-append libc "/include")))
+                                '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"))
                       #t))))))))
 
     ;; This time we want Texinfo, so we get the manual.  Add
@@ -2641,23 +2651,23 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
               ("libc-debug" ,glibc-final "debug")
               ("libc-static" ,glibc-final "static")))))
 
+(define-public gcc-toolchain
+  (make-gcc-toolchain gcc-final))
+
 (define-public gcc-toolchain-4.8
   (make-gcc-toolchain gcc-4.8))
 
 (define-public gcc-toolchain-4.9
   (make-gcc-toolchain gcc-4.9))
 
-(define-public gcc-toolchain
-  (make-gcc-toolchain gcc-final))
-
 (define-public gcc-toolchain-5
-  gcc-toolchain)
+  (make-gcc-toolchain gcc-5))
 
 (define-public gcc-toolchain-6
   (make-gcc-toolchain gcc-6))
 
 (define-public gcc-toolchain-7
-  (make-gcc-toolchain gcc-7))
+  gcc-toolchain)
 
 (define-public gcc-toolchain-8
   (make-gcc-toolchain gcc-8))
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 820710417..7a8e40982 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -539,7 +539,7 @@ It also includes runtime support libraries for these languages.")))
 ;; Note: When changing the default gcc version, update
 ;;       the gcc-toolchain-* definitions and the gfortran definition
 ;;       accordingly.
-(define-public gcc gcc-5)
+(define-public gcc gcc-7)
 
 (define-public (make-libstdc++ gcc)
   "Return a libstdc++ package based on GCC.  The primary use case is when
@@ -677,7 +677,7 @@ as the 'native-search-paths' field."
   ;; (custom-gcc gcc "fortran" …) because that would lead to a package object
   ;; that is not 'eq?' with GFORTRAN-5, and thus 'fold-packages' would
   ;; report two gfortran <at> 5 that are in fact identical.
-  gfortran-5)
+  gfortran-7)
 
 (define-public gccgo-4.9
   (custom-gcc gcc-4.9 "gccgo" '("go")
@@ -741,7 +741,7 @@ as the 'native-search-paths' field."
                      (variable "LIBRARY_PATH")
                      (files '("lib" "lib64"))))))
 
-(define-public gcc-objc gcc-objc-5)
+(define-public gcc-objc gcc-objc-7)
 
 (define-public gcc-objc++-4.8
   (custom-gcc gcc-4.8 "gcc-objc++" '("obj-c++")
@@ -797,7 +797,7 @@ as the 'native-search-paths' field."
                      (variable "LIBRARY_PATH")
                      (files '("lib" "lib64"))))))
 
-(define-public gcc-objc++ gcc-objc++-5)
+(define-public gcc-objc++ gcc-objc++-7)
 
 (define (make-libstdc++-doc gcc)
   "Return a package with the libstdc++ documentation for GCC."
-- 
2.19.0





Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Sat, 06 Oct 2018 13:17:04 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: 32953 <at> debbugs.gnu.org
Subject: [PATCH core-updates-next 6/8] gnu: python: Fix FTBFS with GCC >= 6.
Date: Sat,  6 Oct 2018 15:16:37 +0200
* gnu/packages/patches/python-3-search-paths.patch: s/C_INCLUDE_PATH/CPATH.
* gnu/packages/patches/python-2.7-search-paths.patch: Ditto.
---
 gnu/packages/patches/python-2.7-search-paths.patch | 4 ++--
 gnu/packages/patches/python-3-search-paths.patch   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/patches/python-2.7-search-paths.patch b/gnu/packages/patches/python-2.7-search-paths.patch
index ba7235df2..a012bc8fe 100644
--- a/gnu/packages/patches/python-2.7-search-paths.patch
+++ b/gnu/packages/patches/python-2.7-search-paths.patch
@@ -1,4 +1,4 @@
-Make sure the build system honors C_INCLUDE_PATH and LIBRARY_PATH when
+Make sure the build system honors CPATH and LIBRARY_PATH when
 looking for headers and libraries.
 
 --- Python-2.7.10/setup.py	2015-10-07 18:33:18.125153186 +0200
@@ -9,7 +9,7 @@ looking for headers and libraries.
  
 +        # Always honor these variables.
 +        lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep)
-+        inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
++        inc_dirs += os.getenv('CPATH', '').split(os.pathsep)
 +
          # OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
          if host_platform in ['osf1', 'unixware7', 'openunix8']:
diff --git a/gnu/packages/patches/python-3-search-paths.patch b/gnu/packages/patches/python-3-search-paths.patch
index 73e3f4ccf..c82470563 100644
--- a/gnu/packages/patches/python-3-search-paths.patch
+++ b/gnu/packages/patches/python-3-search-paths.patch
@@ -1,4 +1,4 @@
-Make sure the build system honors C_INCLUDE_PATH and LIBRARY_PATH when
+Make sure the build system honors CPATH and LIBRARY_PATH when
 looking for headers and libraries.
 
 --- setup.py	2015-10-07 23:32:58.891329173 +0200
@@ -10,7 +10,7 @@ looking for headers and libraries.
 -            lib_dirs = self.compiler.library_dirs + system_lib_dirs
 -            inc_dirs = self.compiler.include_dirs + system_include_dirs
 +            lib_dirs = os.getenv('LIBRARY_PATH', '').split(os.pathsep)
-+            inc_dirs = os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
++            inc_dirs = os.getenv('CPATH', '').split(os.pathsep)
          else:
              # Add the sysroot paths. 'sysroot' is a compiler option used to
              # set the logical path of the standard system headers and
-- 
2.19.0





Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Sat, 06 Oct 2018 13:17:04 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: 32953 <at> debbugs.gnu.org
Subject: [PATCH core-updates-next 7/8] gnu: cmake: Try CPATH and
 C_INCLUDE_PATH when finding system libraries.
Date: Sat,  6 Oct 2018 15:16:38 +0200
* gnu/packages/cmake.scm (cmake)[arguments]: Try both CPATH and C_INCLUDE_PATH
instead of just the latter.
---
 gnu/packages/cmake.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 5abf08755..3f3f1c1f4 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -116,7 +116,8 @@
              ;; Help cmake's bootstrap process to find system libraries
              (begin
                (setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
-               (setenv "CMAKE_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
+               (setenv "CMAKE_INCLUDE_PATH" (or (getenv "CPATH")
+                                                (getenv "C_INCLUDE_PATH")))
                #t)))
          (replace 'configure
            (lambda* (#:key outputs #:allow-other-keys)
-- 
2.19.0





Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Sat, 06 Oct 2018 13:17:05 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: 32953 <at> debbugs.gnu.org
Subject: [PATCH core-updates-next 8/8] gnu: cppunit: Update to 1.14.0.
Date: Sat,  6 Oct 2018 15:16:39 +0200
* gnu/packages/check.scm (cppunit): Update to 1.14.0.
(cppunit-1.14): Remove variable.
* gnu/packages/libreoffice.scm (libreoffice)[inputs]: Change CPPUNIT-1.14 to CPPUNIT.
---
 gnu/packages/check.scm       | 21 ++-------------------
 gnu/packages/libreoffice.scm |  2 +-
 2 files changed, 3 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 1373f1786..9ba85045f 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -124,14 +124,14 @@ with a flexible variety of user interfaces.")
 (define-public cppunit
   (package
     (name "cppunit")
-    (version "1.13.2")
+    (version "1.14.0")
     (source (origin
              (method url-fetch)
               (uri (string-append "http://dev-www.libreoffice.org/src/"
                                   name "-" version ".tar.gz"))
              (sha256
               (base32
-               "17s2kzmkw3kfjhpp72rfppyd7syr7bdq5s69syj2nvrlwd3d4irz"))))
+               "1027cyfx5gsjkdkaf6c2wnjh68882grw8n672018cj3vs9lrhmix"))))
     ;; Explicitly link with libdl. This is expected to be done by packages
     ;; relying on cppunit for their tests. However, not all of them do.
     ;; If we added the linker flag to such packages, we would pollute all
@@ -146,23 +146,6 @@ unit testing.  Test output is in XML for automatic testing and GUI based for
 supervised tests.")
     (license license:lgpl2.1))) ; no copyright notices. LGPL2.1 is in the tarball
 
-;; Some packages require this newer version of cppunit.  However, it needs
-;; C++11 support, which is not enabled by default in our current GCC, and
-;; updating in-place would require adding CXXFLAGS to many dependent packages.
-;; Thus, keep as a separate variable for now.
-;; TODO: Remove this when our default GCC is updated to 6 or higher.
-(define-public cppunit-1.14
-  (package
-    (inherit cppunit)
-    (version "1.14.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://dev-www.libreoffice.org/src/"
-                                  "cppunit-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1027cyfx5gsjkdkaf6c2wnjh68882grw8n672018cj3vs9lrhmix"))))))
-
 ;; When dependent packages upgraded to use newer version of catch, this one should
 ;; be removed.
 (define-public catch-framework
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 18edfcd35..4a1d3187a 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -951,7 +951,7 @@ converting QuarkXPress file format.  It supports versions 3.1 to 4.1.")
     (build-system gnu-build-system)
     (native-inputs
      `(("bison" ,bison)
-       ("cppunit" ,cppunit-1.14)
+       ("cppunit" ,cppunit)
        ("flex" ,flex)
        ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)
-- 
2.19.0





Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Sat, 06 Oct 2018 17:01:02 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: 32953 <at> debbugs.gnu.org
Subject: Re: [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default
 compiler.
Date: Sat, 06 Oct 2018 19:00:43 +0200
[Message part 1 (text/plain, inline)]
Marius Bakke <mbakke <at> fastmail.com> writes:

> Guix,
>
> Here are patches that allow building the world with GCC7.
>
> The cross-toolchain and bootstrap tarballs need more work, but native
> x86_64 at least is largely fine.
>
> Marius Bakke (8):
>   gnu: Remove gcc-for-libstdc++.
>   gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
>   gnu: gcc-boot0: Improve gcc-wrapper workarounds.
>   gnu: Remove duplicate linux-libre-headers package from bootstrap
>     inputs.
>   gnu: Use GCC 7 as the default compiler.
>   gnu: python: Fix FTBFS with GCC >= 6.
>   gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system
>     libraries.
>   gnu: cppunit: Update to 1.14.0.

I've pushed these to 'wip-gcc7' on Savannah for easier access:

https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-gcc7
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Thu, 11 Oct 2018 08:06:02 GMT) Full text and rfc822 format available.

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

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 32953 <at> debbugs.gnu.org
Subject: Re: [bug#32953] [PATCH core-updates-next 5/8] gnu: Use GCC 7 as the
 default compiler.
Date: Thu, 11 Oct 2018 10:05:05 +0200
[Message part 1 (text/plain, inline)]
LGTM!
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Thu, 11 Oct 2018 08:07:01 GMT) Full text and rfc822 format available.

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

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 32953 <at> debbugs.gnu.org
Subject: Re: [bug#32953] [PATCH core-updates-next 7/8] gnu: cmake: Try CPATH
 and C_INCLUDE_PATH when finding system libraries.
Date: Thu, 11 Oct 2018 10:06:29 +0200
[Message part 1 (text/plain, inline)]
Hi Marius,

On Sat,  6 Oct 2018 15:16:38 +0200
Marius Bakke <mbakke <at> fastmail.com> wrote:

> * gnu/packages/cmake.scm (cmake)[arguments]: Try both CPATH and C_INCLUDE_PATH
> instead of just the latter.

Hmm...  why?

I thought if one used CPATH it would not treat the headers as a system
headers and one would get a lot of errors anyway (because #include_next
wouldn't work and also because of things one "ought" not to do which
the system headers do anyway and get a pass on).
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Thu, 11 Oct 2018 08:09:02 GMT) Full text and rfc822 format available.

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

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 32953 <at> debbugs.gnu.org
Subject: Re: [bug#32953] [PATCH core-updates-next 3/8] gnu: gcc-boot0:
 Improve gcc-wrapper workarounds.
Date: Thu, 11 Oct 2018 10:08:27 +0200
[Message part 1 (text/plain, inline)]
LGTM!
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Thu, 11 Oct 2018 08:09:03 GMT) Full text and rfc822 format available.

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

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 32953 <at> debbugs.gnu.org
Subject: Re: [bug#32953] [PATCH core-updates-next 2/8] gnu: libstdc++-boot0:
 Improve gcc-wrapper workaround.
Date: Thu, 11 Oct 2018 10:08:49 +0200
[Message part 1 (text/plain, inline)]
LGTM!
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Thu, 11 Oct 2018 08:10:02 GMT) Full text and rfc822 format available.

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

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 32953 <at> debbugs.gnu.org
Subject: Re: [bug#32953] [PATCH core-updates-next 4/8] gnu: Remove duplicate
 linux-libre-headers package from bootstrap inputs.
Date: Thu, 11 Oct 2018 10:09:22 +0200
[Message part 1 (text/plain, inline)]
LGTM!
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Thu, 11 Oct 2018 08:18:02 GMT) Full text and rfc822 format available.

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

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 32953 <at> debbugs.gnu.org
Subject: Re: [bug#32953] [PATCH core-updates-next 8/8] gnu: cppunit: Update
 to 1.14.0.
Date: Thu, 11 Oct 2018 10:17:18 +0200
[Message part 1 (text/plain, inline)]
LGTM!
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Thu, 27 Dec 2018 11:00:08 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 32953 <at> debbugs.gnu.org
Subject: Re: [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default
 compiler.
Date: Thu, 27 Dec 2018 11:59:08 +0100
Hi Marius!

Marius Bakke <mbakke <at> fastmail.com> skribis:

> Marius Bakke <mbakke <at> fastmail.com> writes:
>
>> Guix,
>>
>> Here are patches that allow building the world with GCC7.
>>
>> The cross-toolchain and bootstrap tarballs need more work, but native
>> x86_64 at least is largely fine.
>>
>> Marius Bakke (8):
>>   gnu: Remove gcc-for-libstdc++.
>>   gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
>>   gnu: gcc-boot0: Improve gcc-wrapper workarounds.
>>   gnu: Remove duplicate linux-libre-headers package from bootstrap
>>     inputs.
>>   gnu: Use GCC 7 as the default compiler.
>>   gnu: python: Fix FTBFS with GCC >= 6.
>>   gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system
>>     libraries.
>>   gnu: cppunit: Update to 1.14.0.
>
> I've pushed these to 'wip-gcc7' on Savannah for easier access:
>
> https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-gcc7

I haven’t tested the patch set but I concur with Danny, they LGTM.

Now would be a good time to rebase them on ‘core-updates’ and to merge
them so we get enough time to test and fix things.  Would you like to do
that?

Thanks!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Sat, 29 Dec 2018 17:59:01 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Marius Bakke <mbakke <at> fastmail.com>, 32953 <at> debbugs.gnu.org
Subject: Re: [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the
 default compiler.
Date: Sat, 29 Dec 2018 19:58:33 +0200
[Message part 1 (text/plain, inline)]
On Thu, Dec 27, 2018 at 11:59:08AM +0100, Ludovic Courtès wrote:
> Hi Marius!
> 
> Marius Bakke <mbakke <at> fastmail.com> skribis:
> 
> > Marius Bakke <mbakke <at> fastmail.com> writes:
> >
> >> Guix,
> >>
> >> Here are patches that allow building the world with GCC7.
> >>
> >> The cross-toolchain and bootstrap tarballs need more work, but native
> >> x86_64 at least is largely fine.
> >>
> >> Marius Bakke (8):
> >>   gnu: Remove gcc-for-libstdc++.
> >>   gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
> >>   gnu: gcc-boot0: Improve gcc-wrapper workarounds.
> >>   gnu: Remove duplicate linux-libre-headers package from bootstrap
> >>     inputs.
> >>   gnu: Use GCC 7 as the default compiler.
> >>   gnu: python: Fix FTBFS with GCC >= 6.
> >>   gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system
> >>     libraries.
> >>   gnu: cppunit: Update to 1.14.0.
> >
> > I've pushed these to 'wip-gcc7' on Savannah for easier access:
> >
> > https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-gcc7
> 
> I haven’t tested the patch set but I concur with Danny, they LGTM.
> 
> Now would be a good time to rebase them on ‘core-updates’ and to merge
> them so we get enough time to test and fix things.  Would you like to do
> that?
> 
> Thanks!
> 
> Ludo’.

After it's rebased I'll help take a look at the armhf and aarch64
boostrap paths to make sure they work.

-- 
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)]

Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Wed, 16 Jan 2019 13:54:02 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: Efraim Flashner <efraim <at> flashner.co.il>, Ludovic Courtès <ludo <at> gnu.org>
Cc: 32953 <at> debbugs.gnu.org
Subject: Re: [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default
 compiler.
Date: Wed, 16 Jan 2019 14:53:14 +0100
[Message part 1 (text/plain, inline)]
Efraim Flashner <efraim <at> flashner.co.il> writes:

> On Thu, Dec 27, 2018 at 11:59:08AM +0100, Ludovic Courtès wrote:
>> Hi Marius!
>> 
>> Marius Bakke <mbakke <at> fastmail.com> skribis:
>> 
>> > Marius Bakke <mbakke <at> fastmail.com> writes:
>> >
>> >> Guix,
>> >>
>> >> Here are patches that allow building the world with GCC7.
>> >>
>> >> The cross-toolchain and bootstrap tarballs need more work, but native
>> >> x86_64 at least is largely fine.
>> >>
>> >> Marius Bakke (8):
>> >>   gnu: Remove gcc-for-libstdc++.
>> >>   gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
>> >>   gnu: gcc-boot0: Improve gcc-wrapper workarounds.
>> >>   gnu: Remove duplicate linux-libre-headers package from bootstrap
>> >>     inputs.
>> >>   gnu: Use GCC 7 as the default compiler.
>> >>   gnu: python: Fix FTBFS with GCC >= 6.
>> >>   gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system
>> >>     libraries.
>> >>   gnu: cppunit: Update to 1.14.0.
>> >
>> > I've pushed these to 'wip-gcc7' on Savannah for easier access:
>> >
>> > https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-gcc7
>> 
>> I haven’t tested the patch set but I concur with Danny, they LGTM.
>> 
>> Now would be a good time to rebase them on ‘core-updates’ and to merge
>> them so we get enough time to test and fix things.  Would you like to do
>> that?
>> 
>> Thanks!
>> 
>> Ludo’.
>
> After it's rebased I'll help take a look at the armhf and aarch64
> boostrap paths to make sure they work.

I've pushed an updated patch to "wip-gcc7" based on the latest
'core-updates'.

The cross-compiler toolchain is still broken: it fails to build the very
last GCC.  For armhf, the build system tries to include
"gnu/stubs-soft.h" during "./configure" and fails, even though it gets
"--with-float=hard" as a flag.

When building the AArch64 cross-compiler, GCC segfaults later in the
process:

build/genmatch --gimple ../../gcc-7.4.0/gcc/match.pd > tmp-gimple-match.c
/gnu/store/vfqvdfdnd8fi9gcx710mpfaf0x4dfd37-bash-minimal-5.0/bin/bash: line 1:  1789 Segmentation fault
build/genmatch --gimple ../../gcc-7.4.0/gcc/match.pd > tmp-gimple-match.c
make[2]: *** [Makefile:2460: s-match] Error 139
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Sat, 19 Jan 2019 17:10:01 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 32953 <at> debbugs.gnu.org
Subject: Re: [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the
 default compiler.
Date: Sat, 19 Jan 2019 19:09:04 +0200
[Message part 1 (text/plain, inline)]
On Wed, Jan 16, 2019 at 02:53:14PM +0100, Marius Bakke wrote:
> Efraim Flashner <efraim <at> flashner.co.il> writes:
> 
> > On Thu, Dec 27, 2018 at 11:59:08AM +0100, Ludovic Courtès wrote:
> >> Hi Marius!
> >> 
> >> Marius Bakke <mbakke <at> fastmail.com> skribis:
> >> 
> >> > Marius Bakke <mbakke <at> fastmail.com> writes:
> >> >
> >> >> Guix,
> >> >>
> >> >> Here are patches that allow building the world with GCC7.
> >> >>
> >> >> The cross-toolchain and bootstrap tarballs need more work, but native
> >> >> x86_64 at least is largely fine.
> >> >>
> >> >> Marius Bakke (8):
> >> >>   gnu: Remove gcc-for-libstdc++.
> >> >>   gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
> >> >>   gnu: gcc-boot0: Improve gcc-wrapper workarounds.
> >> >>   gnu: Remove duplicate linux-libre-headers package from bootstrap
> >> >>     inputs.
> >> >>   gnu: Use GCC 7 as the default compiler.
> >> >>   gnu: python: Fix FTBFS with GCC >= 6.
> >> >>   gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system
> >> >>     libraries.
> >> >>   gnu: cppunit: Update to 1.14.0.
> >> >
> >> > I've pushed these to 'wip-gcc7' on Savannah for easier access:
> >> >
> >> > https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-gcc7
> >> 
> >> I haven’t tested the patch set but I concur with Danny, they LGTM.
> >> 
> >> Now would be a good time to rebase them on ‘core-updates’ and to merge
> >> them so we get enough time to test and fix things.  Would you like to do
> >> that?
> >> 
> >> Thanks!
> >> 
> >> Ludo’.
> >
> > After it's rebased I'll help take a look at the armhf and aarch64
> > boostrap paths to make sure they work.
> 
> I've pushed an updated patch to "wip-gcc7" based on the latest
> 'core-updates'.
> 

I fixed the bootstrapping on aarch64- and armhf-linux.
glibc-final-with-bootstrap-bash was failing to find errno.h and some
other headers, disabling the obsolete rpc support (which wasn't enabled
anywhere else) made it work.

> The cross-compiler toolchain is still broken: it fails to build the very
> last GCC.  For armhf, the build system tries to include
> "gnu/stubs-soft.h" during "./configure" and fails, even though it gets
> "--with-float=hard" as a flag.
> 
> When building the AArch64 cross-compiler, GCC segfaults later in the
> process:
> 
> build/genmatch --gimple ../../gcc-7.4.0/gcc/match.pd > tmp-gimple-match.c
> /gnu/store/vfqvdfdnd8fi9gcx710mpfaf0x4dfd37-bash-minimal-5.0/bin/bash: line 1:  1789 Segmentation fault
> build/genmatch --gimple ../../gcc-7.4.0/gcc/match.pd > tmp-gimple-match.c
> make[2]: *** [Makefile:2460: s-match] Error 139

I'm going to see if I can build hello --target=arm-linux-gnueabihf next
and see how that works.


-- 
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)]

Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Sat, 19 Jan 2019 20:02:01 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 32953 <at> debbugs.gnu.org
Subject: Re: [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the
 default compiler.
Date: Sat, 19 Jan 2019 22:01:19 +0200
[Message part 1 (text/plain, inline)]
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.

-- 
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)]

Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Wed, 06 Feb 2019 20:25:01 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 32953 <at> debbugs.gnu.org
Subject: Re: [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default
 compiler.
Date: Wed, 06 Feb 2019 21:23:56 +0100
[Message part 1 (text/plain, inline)]
Efraim Flashner <efraim <at> flashner.co.il> 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:

[Message part 2 (text/x-patch, inline)]
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]
[Message part 3 (text/plain, inline)]
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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Wed, 06 Feb 2019 22:37:01 GMT) Full text and rfc822 format available.

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

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 32953 <at> debbugs.gnu.org, Efraim Flashner <efraim <at> flashner.co.il>
Subject: Re: [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default
 compiler.
Date: Wed, 06 Feb 2019 23:35:24 +0100
Hi Marius,

> Efraim Flashner <efraim <at> flashner.co.il> 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.

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





Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Wed, 06 Feb 2019 23:04:01 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 32953 <at> debbugs.gnu.org, Efraim Flashner <efraim <at> flashner.co.il>
Subject: Re: [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default
 compiler.
Date: Thu, 07 Feb 2019 00:03:20 +0100
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Hi Marius,
>
>> Efraim Flashner <efraim <at> flashner.co.il> 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.
>
> 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?

I believe using (CROSS_)CPATH will work for all GCC versions, whereas
(CROSS_)C_INCLUDE_PATH are broken for GCC >= 6.

We do use C_INCLUDE_PATH for GCC < 6 in (gnu packages gcc), but I don't
think the added complexity is worth it for the cross-compiler
infrastructure.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Fri, 08 Feb 2019 14:15:02 GMT) Full text and rfc822 format available.

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

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 32953 <at> debbugs.gnu.org, Efraim Flashner <efraim <at> flashner.co.il>
Subject: Re: [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default
 compiler.
Date: Fri, 08 Feb 2019 13:28:37 +0100
Marius Bakke <mbakke <at> fastmail.com> writes:

> Ricardo Wurmus <rekado <at> elephly.net> writes:
>
>> Hi Marius,
>>
>>> Efraim Flashner <efraim <at> flashner.co.il> 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.
>>
>> 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?
>
> I believe using (CROSS_)CPATH will work for all GCC versions, whereas
> (CROSS_)C_INCLUDE_PATH are broken for GCC >= 6.
>
> We do use C_INCLUDE_PATH for GCC < 6 in (gnu packages gcc), but I don't
> think the added complexity is worth it for the cross-compiler
> infrastructure.

Thanks for the explanation.

Will this allow us to close bug #30756?

-- 
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#32953; Package guix-patches. (Sat, 09 Feb 2019 15:01:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 32953 <at> debbugs.gnu.org, Efraim Flashner <efraim <at> flashner.co.il>
Subject: Re: [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default
 compiler.
Date: Sat, 09 Feb 2019 16:00:56 +0100
Hi Marius,

Marius Bakke <mbakke <at> fastmail.com> skribis:

> Efraim Flashner <efraim <at> flashner.co.il> 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:

Awesome!  I think you could squash this with the “gnu: Use GCC 7 as the
default compiler.” commit, and then go ahead and push.

I’m happy we’ll soon have a more recent base compiler!

Thank you,
Ludo’.




Reply sent to Marius Bakke <mbakke <at> fastmail.com>:
You have taken responsibility. (Sat, 09 Feb 2019 20:58:01 GMT) Full text and rfc822 format available.

Notification sent to Marius Bakke <mbakke <at> fastmail.com>:
bug acknowledged by developer. (Sat, 09 Feb 2019 20:58:01 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Efraim Flashner <efraim <at> flashner.co.il>, 32953-done <at> debbugs.gnu.org
Subject: Re: [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default
 compiler.
Date: Sat, 09 Feb 2019 21:57:36 +0100
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:

> Hi Marius,
>
> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
>> Efraim Flashner <efraim <at> flashner.co.il> 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:
>
> Awesome!  I think you could squash this with the “gnu: Use GCC 7 as the
> default compiler.” commit, and then go ahead and push.
>
> I’m happy we’ll soon have a more recent base compiler!

Merged in 01e8263febb9634564b4b73af49b81a36567a11b !
[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. (Sun, 10 Mar 2019 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 20 days ago.

Previous Next


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