* [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).