unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
@ 2018-10-06 13:14 Marius Bakke
  2018-10-06 13:16 ` [bug#32953] [PATCH core-updates-next 1/8] gnu: Remove gcc-for-libstdc++ Marius Bakke
  2018-10-06 17:00 ` [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler Marius Bakke
  0 siblings, 2 replies; 27+ messages in thread
From: Marius Bakke @ 2018-10-06 13:14 UTC (permalink / raw)
  To: 32953

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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 1/8] gnu: Remove gcc-for-libstdc++.
  2018-10-06 13:14 [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler Marius Bakke
@ 2018-10-06 13:16 ` Marius Bakke
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 2/8] gnu: libstdc++-boot0: Improve gcc-wrapper workaround Marius Bakke
                     ` (6 more replies)
  2018-10-06 17:00 ` [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler Marius Bakke
  1 sibling, 7 replies; 27+ messages in thread
From: Marius Bakke @ 2018-10-06 13:16 UTC (permalink / raw)
  To: 32953

* 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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 2/8] gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
  2018-10-06 13:16 ` [bug#32953] [PATCH core-updates-next 1/8] gnu: Remove gcc-for-libstdc++ Marius Bakke
@ 2018-10-06 13:16   ` Marius Bakke
  2018-10-11  8:08     ` Danny Milosavljevic
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 3/8] gnu: gcc-boot0: Improve gcc-wrapper workarounds Marius Bakke
                     ` (5 subsequent siblings)
  6 siblings, 1 reply; 27+ messages in thread
From: Marius Bakke @ 2018-10-06 13:16 UTC (permalink / raw)
  To: 32953

* 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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 3/8] gnu: gcc-boot0: Improve gcc-wrapper workarounds.
  2018-10-06 13:16 ` [bug#32953] [PATCH core-updates-next 1/8] gnu: Remove gcc-for-libstdc++ Marius Bakke
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 2/8] gnu: libstdc++-boot0: Improve gcc-wrapper workaround Marius Bakke
@ 2018-10-06 13:16   ` Marius Bakke
  2018-10-11  8:08     ` Danny Milosavljevic
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 4/8] gnu: Remove duplicate linux-libre-headers package from bootstrap inputs Marius Bakke
                     ` (4 subsequent siblings)
  6 siblings, 1 reply; 27+ messages in thread
From: Marius Bakke @ 2018-10-06 13:16 UTC (permalink / raw)
  To: 32953

* 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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 4/8] gnu: Remove duplicate linux-libre-headers package from bootstrap inputs.
  2018-10-06 13:16 ` [bug#32953] [PATCH core-updates-next 1/8] gnu: Remove gcc-for-libstdc++ Marius Bakke
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 2/8] gnu: libstdc++-boot0: Improve gcc-wrapper workaround Marius Bakke
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 3/8] gnu: gcc-boot0: Improve gcc-wrapper workarounds Marius Bakke
@ 2018-10-06 13:16   ` Marius Bakke
  2018-10-11  8:09     ` Danny Milosavljevic
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 5/8] gnu: Use GCC 7 as the default compiler Marius Bakke
                     ` (3 subsequent siblings)
  6 siblings, 1 reply; 27+ messages in thread
From: Marius Bakke @ 2018-10-06 13:16 UTC (permalink / raw)
  To: 32953

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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 5/8] gnu: Use GCC 7 as the default compiler.
  2018-10-06 13:16 ` [bug#32953] [PATCH core-updates-next 1/8] gnu: Remove gcc-for-libstdc++ Marius Bakke
                     ` (2 preceding siblings ...)
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 4/8] gnu: Remove duplicate linux-libre-headers package from bootstrap inputs Marius Bakke
@ 2018-10-06 13:16   ` Marius Bakke
  2018-10-11  8:05     ` Danny Milosavljevic
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 6/8] gnu: python: Fix FTBFS with GCC >= 6 Marius Bakke
                     ` (2 subsequent siblings)
  6 siblings, 1 reply; 27+ messages in thread
From: Marius Bakke @ 2018-10-06 13:16 UTC (permalink / raw)
  To: 32953

* 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@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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 6/8] gnu: python: Fix FTBFS with GCC >= 6.
  2018-10-06 13:16 ` [bug#32953] [PATCH core-updates-next 1/8] gnu: Remove gcc-for-libstdc++ Marius Bakke
                     ` (3 preceding siblings ...)
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 5/8] gnu: Use GCC 7 as the default compiler Marius Bakke
@ 2018-10-06 13:16   ` Marius Bakke
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 7/8] gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system libraries Marius Bakke
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 8/8] gnu: cppunit: Update to 1.14.0 Marius Bakke
  6 siblings, 0 replies; 27+ messages in thread
From: Marius Bakke @ 2018-10-06 13:16 UTC (permalink / raw)
  To: 32953

* 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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 7/8] gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system libraries.
  2018-10-06 13:16 ` [bug#32953] [PATCH core-updates-next 1/8] gnu: Remove gcc-for-libstdc++ Marius Bakke
                     ` (4 preceding siblings ...)
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 6/8] gnu: python: Fix FTBFS with GCC >= 6 Marius Bakke
@ 2018-10-06 13:16   ` Marius Bakke
  2018-10-11  8:06     ` Danny Milosavljevic
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 8/8] gnu: cppunit: Update to 1.14.0 Marius Bakke
  6 siblings, 1 reply; 27+ messages in thread
From: Marius Bakke @ 2018-10-06 13:16 UTC (permalink / raw)
  To: 32953

* 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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 8/8] gnu: cppunit: Update to 1.14.0.
  2018-10-06 13:16 ` [bug#32953] [PATCH core-updates-next 1/8] gnu: Remove gcc-for-libstdc++ Marius Bakke
                     ` (5 preceding siblings ...)
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 7/8] gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system libraries Marius Bakke
@ 2018-10-06 13:16   ` Marius Bakke
  2018-10-11  8:17     ` Danny Milosavljevic
  6 siblings, 1 reply; 27+ messages in thread
From: Marius Bakke @ 2018-10-06 13:16 UTC (permalink / raw)
  To: 32953

* 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

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
  2018-10-06 13:14 [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler Marius Bakke
  2018-10-06 13:16 ` [bug#32953] [PATCH core-updates-next 1/8] gnu: Remove gcc-for-libstdc++ Marius Bakke
@ 2018-10-06 17:00 ` Marius Bakke
  2018-12-27 10:59   ` Ludovic Courtès
  1 sibling, 1 reply; 27+ messages in thread
From: Marius Bakke @ 2018-10-06 17:00 UTC (permalink / raw)
  To: 32953

[-- Attachment #1: Type: text/plain, Size: 802 bytes --]

Marius Bakke <mbakke@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 5/8] gnu: Use GCC 7 as the default compiler.
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 5/8] gnu: Use GCC 7 as the default compiler Marius Bakke
@ 2018-10-11  8:05     ` Danny Milosavljevic
  0 siblings, 0 replies; 27+ messages in thread
From: Danny Milosavljevic @ 2018-10-11  8:05 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 32953

[-- Attachment #1: Type: text/plain, Size: 7 bytes --]

LGTM!

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 7/8] gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system libraries.
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 7/8] gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system libraries Marius Bakke
@ 2018-10-11  8:06     ` Danny Milosavljevic
  0 siblings, 0 replies; 27+ messages in thread
From: Danny Milosavljevic @ 2018-10-11  8:06 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 32953

[-- Attachment #1: Type: text/plain, Size: 491 bytes --]

Hi Marius,

On Sat,  6 Oct 2018 15:16:38 +0200
Marius Bakke <mbakke@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).

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 3/8] gnu: gcc-boot0: Improve gcc-wrapper workarounds.
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 3/8] gnu: gcc-boot0: Improve gcc-wrapper workarounds Marius Bakke
@ 2018-10-11  8:08     ` Danny Milosavljevic
  0 siblings, 0 replies; 27+ messages in thread
From: Danny Milosavljevic @ 2018-10-11  8:08 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 32953

[-- Attachment #1: Type: text/plain, Size: 7 bytes --]

LGTM!

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 2/8] gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 2/8] gnu: libstdc++-boot0: Improve gcc-wrapper workaround Marius Bakke
@ 2018-10-11  8:08     ` Danny Milosavljevic
  0 siblings, 0 replies; 27+ messages in thread
From: Danny Milosavljevic @ 2018-10-11  8:08 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 32953

[-- Attachment #1: Type: text/plain, Size: 7 bytes --]

LGTM!

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 4/8] gnu: Remove duplicate linux-libre-headers package from bootstrap inputs.
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 4/8] gnu: Remove duplicate linux-libre-headers package from bootstrap inputs Marius Bakke
@ 2018-10-11  8:09     ` Danny Milosavljevic
  0 siblings, 0 replies; 27+ messages in thread
From: Danny Milosavljevic @ 2018-10-11  8:09 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 32953

[-- Attachment #1: Type: text/plain, Size: 7 bytes --]

LGTM!

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 8/8] gnu: cppunit: Update to 1.14.0.
  2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 8/8] gnu: cppunit: Update to 1.14.0 Marius Bakke
@ 2018-10-11  8:17     ` Danny Milosavljevic
  0 siblings, 0 replies; 27+ messages in thread
From: Danny Milosavljevic @ 2018-10-11  8:17 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 32953

[-- Attachment #1: Type: text/plain, Size: 7 bytes --]

LGTM!

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
  2018-10-06 17:00 ` [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler Marius Bakke
@ 2018-12-27 10:59   ` Ludovic Courtès
  2018-12-29 17:58     ` Efraim Flashner
  0 siblings, 1 reply; 27+ messages in thread
From: Ludovic Courtès @ 2018-12-27 10:59 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 32953

Hi Marius!

Marius Bakke <mbakke@fastmail.com> skribis:

> Marius Bakke <mbakke@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’.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
  2018-12-27 10:59   ` Ludovic Courtès
@ 2018-12-29 17:58     ` Efraim Flashner
  2019-01-16 13:53       ` Marius Bakke
  0 siblings, 1 reply; 27+ messages in thread
From: Efraim Flashner @ 2018-12-29 17:58 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 32953

[-- Attachment #1: Type: text/plain, Size: 1633 bytes --]

On Thu, Dec 27, 2018 at 11:59:08AM +0100, Ludovic Courtès wrote:
> Hi Marius!
> 
> Marius Bakke <mbakke@fastmail.com> skribis:
> 
> > Marius Bakke <mbakke@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@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
  2018-12-29 17:58     ` Efraim Flashner
@ 2019-01-16 13:53       ` Marius Bakke
  2019-01-19 17:09         ` Efraim Flashner
  0 siblings, 1 reply; 27+ messages in thread
From: Marius Bakke @ 2019-01-16 13:53 UTC (permalink / raw)
  To: Efraim Flashner, Ludovic Courtès; +Cc: 32953

[-- Attachment #1: Type: text/plain, Size: 2224 bytes --]

Efraim Flashner <efraim@flashner.co.il> writes:

> On Thu, Dec 27, 2018 at 11:59:08AM +0100, Ludovic Courtès wrote:
>> Hi Marius!
>> 
>> Marius Bakke <mbakke@fastmail.com> skribis:
>> 
>> > Marius Bakke <mbakke@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
  2019-01-16 13:53       ` Marius Bakke
@ 2019-01-19 17:09         ` Efraim Flashner
  2019-01-19 20:01           ` Efraim Flashner
  0 siblings, 1 reply; 27+ messages in thread
From: Efraim Flashner @ 2019-01-19 17:09 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 32953

[-- Attachment #1: Type: text/plain, Size: 2955 bytes --]

On Wed, Jan 16, 2019 at 02:53:14PM +0100, Marius Bakke wrote:
> Efraim Flashner <efraim@flashner.co.il> writes:
> 
> > On Thu, Dec 27, 2018 at 11:59:08AM +0100, Ludovic Courtès wrote:
> >> Hi Marius!
> >> 
> >> Marius Bakke <mbakke@fastmail.com> skribis:
> >> 
> >> > Marius Bakke <mbakke@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@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
  2019-01-19 17:09         ` Efraim Flashner
@ 2019-01-19 20:01           ` Efraim Flashner
  2019-02-06 20:23             ` Marius Bakke
  0 siblings, 1 reply; 27+ messages in thread
From: Efraim Flashner @ 2019-01-19 20:01 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 32953

[-- Attachment #1: Type: text/plain, Size: 620 bytes --]

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@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
  2019-01-19 20:01           ` Efraim Flashner
@ 2019-02-06 20:23             ` Marius Bakke
  2019-02-06 22:35               ` Ricardo Wurmus
  2019-02-09 15:00               ` Ludovic Courtès
  0 siblings, 2 replies; 27+ messages in thread
From: Marius Bakke @ 2019-02-06 20:23 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 32953


[-- Attachment #1.1: Type: text/plain, Size: 570 bytes --]

Efraim Flashner <efraim@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:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: Type: text/x-patch, Size: 1640 bytes --]

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]

[-- Attachment #1.3: Type: text/plain, Size: 266 bytes --]


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.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
  2019-02-06 20:23             ` Marius Bakke
@ 2019-02-06 22:35               ` Ricardo Wurmus
  2019-02-06 23:03                 ` Marius Bakke
  2019-02-09 15:00               ` Ludovic Courtès
  1 sibling, 1 reply; 27+ messages in thread
From: Ricardo Wurmus @ 2019-02-06 22:35 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 32953


Hi Marius,

> Efraim Flashner <efraim@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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
  2019-02-06 22:35               ` Ricardo Wurmus
@ 2019-02-06 23:03                 ` Marius Bakke
  2019-02-08 12:28                   ` Ricardo Wurmus
  0 siblings, 1 reply; 27+ messages in thread
From: Marius Bakke @ 2019-02-06 23:03 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 32953

[-- Attachment #1: Type: text/plain, Size: 3262 bytes --]

Ricardo Wurmus <rekado@elephly.net> writes:

> Hi Marius,
>
>> Efraim Flashner <efraim@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.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
  2019-02-06 23:03                 ` Marius Bakke
@ 2019-02-08 12:28                   ` Ricardo Wurmus
  0 siblings, 0 replies; 27+ messages in thread
From: Ricardo Wurmus @ 2019-02-08 12:28 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 32953


Marius Bakke <mbakke@fastmail.com> writes:

> Ricardo Wurmus <rekado@elephly.net> writes:
>
>> Hi Marius,
>>
>>> Efraim Flashner <efraim@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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
  2019-02-06 20:23             ` Marius Bakke
  2019-02-06 22:35               ` Ricardo Wurmus
@ 2019-02-09 15:00               ` Ludovic Courtès
  2019-02-09 20:57                 ` bug#32953: " Marius Bakke
  1 sibling, 1 reply; 27+ messages in thread
From: Ludovic Courtès @ 2019-02-09 15:00 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 32953

Hi Marius,

Marius Bakke <mbakke@fastmail.com> skribis:

> Efraim Flashner <efraim@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’.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#32953: [PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
  2019-02-09 15:00               ` Ludovic Courtès
@ 2019-02-09 20:57                 ` Marius Bakke
  0 siblings, 0 replies; 27+ messages in thread
From: Marius Bakke @ 2019-02-09 20:57 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 32953-done

[-- Attachment #1: Type: text/plain, Size: 970 bytes --]

Ludovic Courtès <ludo@gnu.org> writes:

> Hi Marius,
>
> Marius Bakke <mbakke@fastmail.com> skribis:
>
>> Efraim Flashner <efraim@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 !

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2019-02-09 20:58 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-06 13:14 [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler Marius Bakke
2018-10-06 13:16 ` [bug#32953] [PATCH core-updates-next 1/8] gnu: Remove gcc-for-libstdc++ Marius Bakke
2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 2/8] gnu: libstdc++-boot0: Improve gcc-wrapper workaround Marius Bakke
2018-10-11  8:08     ` Danny Milosavljevic
2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 3/8] gnu: gcc-boot0: Improve gcc-wrapper workarounds Marius Bakke
2018-10-11  8:08     ` Danny Milosavljevic
2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 4/8] gnu: Remove duplicate linux-libre-headers package from bootstrap inputs Marius Bakke
2018-10-11  8:09     ` Danny Milosavljevic
2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 5/8] gnu: Use GCC 7 as the default compiler Marius Bakke
2018-10-11  8:05     ` Danny Milosavljevic
2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 6/8] gnu: python: Fix FTBFS with GCC >= 6 Marius Bakke
2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 7/8] gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system libraries Marius Bakke
2018-10-11  8:06     ` Danny Milosavljevic
2018-10-06 13:16   ` [bug#32953] [PATCH core-updates-next 8/8] gnu: cppunit: Update to 1.14.0 Marius Bakke
2018-10-11  8:17     ` Danny Milosavljevic
2018-10-06 17:00 ` [bug#32953] [PATCH core-updates-next 0/8] Use GCC7 as the default compiler Marius Bakke
2018-12-27 10:59   ` Ludovic Courtès
2018-12-29 17:58     ` Efraim Flashner
2019-01-16 13:53       ` Marius Bakke
2019-01-19 17:09         ` Efraim Flashner
2019-01-19 20:01           ` Efraim Flashner
2019-02-06 20:23             ` Marius Bakke
2019-02-06 22:35               ` Ricardo Wurmus
2019-02-06 23:03                 ` Marius Bakke
2019-02-08 12:28                   ` Ricardo Wurmus
2019-02-09 15:00               ` Ludovic Courtès
2019-02-09 20:57                 ` bug#32953: " Marius Bakke

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).