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