GNU bug report logs -
#32953
[PATCH core-updates-next 0/8] Use GCC7 as the default compiler.
Previous Next
Reported by: Marius Bakke <mbakke <at> fastmail.com>
Date: Sat, 6 Oct 2018 13:15:02 UTC
Severity: normal
Tags: patch
Done: Marius Bakke <mbakke <at> fastmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 32953 in the body.
You can then email your comments to 32953 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Sat, 06 Oct 2018 13:15:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Marius Bakke <mbakke <at> fastmail.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Sat, 06 Oct 2018 13:15:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Guix,
Here are patches that allow building the world with GCC7.
The cross-toolchain and bootstrap tarballs need more work, but native
x86_64 at least is largely fine.
Marius Bakke (8):
gnu: Remove gcc-for-libstdc++.
gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
gnu: gcc-boot0: Improve gcc-wrapper workarounds.
gnu: Remove duplicate linux-libre-headers package from bootstrap
inputs.
gnu: Use GCC 7 as the default compiler.
gnu: python: Fix FTBFS with GCC >= 6.
gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system
libraries.
gnu: cppunit: Update to 1.14.0.
gnu/packages/check.scm | 21 +-----
gnu/packages/cmake.scm | 3 +-
gnu/packages/commencement.scm | 74 +++++++++----------
gnu/packages/gcc.scm | 8 +-
gnu/packages/libreoffice.scm | 2 +-
.../patches/python-2.7-search-paths.patch | 4 +-
.../patches/python-3-search-paths.patch | 4 +-
7 files changed, 49 insertions(+), 67 deletions(-)
--
2.19.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Sat, 06 Oct 2018 13:17:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 32953 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/commencement.scm (gcc-for-libstdc++): Remove variable.
(libstdc++-boot0): Inherit GCC-4.9 instead.
---
gnu/packages/commencement.scm | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 4c7a38134..46d2a4629 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1699,25 +1699,12 @@ exec " gcc "/bin/" program
,cf)))))
(inputs (%boot0-inputs)))))
-;; Use a "fixed" package source for this early libstdc++ variant so we can
-;; update GCC 4.9 without triggering a full rebuild.
-(define gcc-for-libstdc++
- (package
- (inherit gcc-4.9)
- (source (origin
- (inherit (package-source gcc-4.9))
- (patches (search-patches "gcc-4.9-libsanitizer-fix.patch"
- "gcc-arm-bug-71399.patch"
- "gcc-asan-missing-include.patch"
- "gcc-libvtv-runpath.patch"
- "gcc-fix-texi2pod.patch"))))))
-
(define libstdc++-boot0
;; GCC's libcc1 is always built as a shared library (the top-level
;; 'Makefile.def' forcefully adds --enable-shared) and thus needs to refer
;; to libstdc++.so. We cannot build libstdc++-5.3 because it relies on
;; C++14 features missing in some of our bootstrap compilers.
- (let ((lib (package-with-bootstrap-guile (make-libstdc++ gcc-for-libstdc++))))
+ (let ((lib (package-with-bootstrap-guile (make-libstdc++ gcc-4.9))))
(package
(inherit lib)
(name "libstdc++-boot0")
--
2.19.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Sat, 06 Oct 2018 13:17:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 32953 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/commencement.scm (libstdc++-boot0): Adjust the configure script
instead of copying libstdc++.so from %BOOT0-INPUTS.
---
gnu/packages/commencement.scm | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 46d2a4629..c4f112578 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1720,17 +1720,13 @@ exec " gcc "/bin/" program
(substitute-keyword-arguments (package-arguments lib)
((#:phases phases)
`(modify-phases ,phases
- ;; FIXME: why doesn't this package build libstdc++.so.6.0.20,
- ;; when gcc-mesboot builds it fine?
- ;; libtool: install: /gnu/store/7swwdnq02lqk4xkd8740fxdj1h4va38l-bootstrap-binaries-0/bin/install -c .libs/libstdc++.so.6.0.20 /gnu/store/np5pmdlwfin3vmqk88chh0fgs0ncki79-libstdc++-boot0-4.8.5/lib/libstdc++.so.6.0.20
- ;; /gnu/store/7swwdnq02lqk4xkd8740fxdj1h4va38l-bootstrap-binaries-0/bin/install: cannot stat '.libs/libstdc++.so.6.0.20': No such file or directory
- (add-after 'build 'copy-libstdc++-
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((gcc (assoc-ref %build-inputs "gcc"))
- (out (assoc-ref outputs "out")))
- (copy-file (string-append gcc "/lib/libstdc++.so.6.0.20")
- (string-append "src/.libs/libstdc++.so.6.0.20"))
- #t)))))))
+ (add-after 'unpack 'workaround-wrapper-bug
+ ;; XXX: The crude gcc-cross-wrapper causes "g++ -v" to
+ ;; fail, which in turn confuses the configure script.
+ (lambda _
+ (substitute* "libstdc++-v3/configure"
+ (("g\\+\\+ -v") "true"))
+ #t))))))
(_ (package-arguments lib)))))
(inputs (%boot0-inputs))
(native-inputs '()))))
--
2.19.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Sat, 06 Oct 2018 13:17:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 32953 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Adjust the libcc1
build scripts instead of copying libcc1.so from %BOOT0-INPUTS.
---
gnu/packages/commencement.scm | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index c4f112578..5bfd314c6 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1810,13 +1810,18 @@ exec " gcc "/bin/" program
#t)))
,(match (%current-system)
((or "i686-linux" "x86_64-linux")
- '(add-after 'build 'libtool-workaround
- (lambda _
- ;; libtool: install: /gnu/store/7swwdnq02lqk4xkd8740fxdj1h4va38l-bootstrap-binaries-0/bin/install -c .libs/libcc1.so.0.0.0 /gnu/store/8qf47i99nxz9jvrmq5va0g3q1yvs3x74-gcc-cross-boot0-5.5.0-lib/lib/./libcc1.so.0.0.0
- ;; /gnu/store/7swwdnq02lqk4xkd8740fxdj1h4va38l-bootstrap-binaries-0/bin/install: cannot stat '.libs/libcc1.so.0.0.0': No such file or directory
- (system* "touch"
- "libcc1/.libs/libcc1.so.0.0.0"
- "libcc1/.libs/libcc1plugin.so.0.0.0"))))
+ '(add-before 'configure 'fix-libcc1
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; libcc1.so NEEDs libgcc_s.so, so provide one here
+ ;; to placate the 'validate-runpath' phase.
+ (substitute* "libcc1/Makefile.in"
+ (("la_LDFLAGS =")
+ (string-append "la_LDFLAGS = -Wl,-rpath="
+ (assoc-ref inputs "gcc") "/lib")))
+ ;; XXX: "g++ -v" is broken (see also libstdc++ above).
+ (substitute* "libcc1/configure"
+ (("g\\+\\+ -v") "true"))
+ #t)))
(_ identity))
(add-after 'install 'symlink-libgcc_eh
(lambda* (#:key outputs #:allow-other-keys)
--
2.19.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Sat, 06 Oct 2018 13:17:03 GMT)
Full text and
rfc822 format available.
Message #17 received at 32953 <at> debbugs.gnu.org (full text, mbox):
GLIBC-FINAL already propagates linux-libre-headers, so drop the bootstrap input.
* gnu/packages/commencement.scm (%boot2-inputs): Remove
%BOOTSTRAP-LINUX-LIBRE-HEADERS.
---
gnu/packages/commencement.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 5bfd314c6..6dfa89315 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2274,7 +2274,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
`(("libc" ,glibc-final)
("libc:static" ,glibc-final "static")
("gcc" ,(gcc-boot0-wrapped))
- ,@(fold alist-delete (%boot1-inputs) '("libc" "gcc"))))
+ ,@(fold alist-delete (%boot1-inputs) '("libc" "gcc" "linux-libre-headers"))))
(define binutils-final
(package-with-bootstrap-guile
--
2.19.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Sat, 06 Oct 2018 13:17:03 GMT)
Full text and
rfc822 format available.
Message #20 received at 32953 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Add "--disable-libmpx"
to #:configure-flags.
(gcc-final): Add phase to set C_INCLUDE_PATH and CPLUS_INCLUDE_PATH.
* gnu/packages/gcc.scm (gcc): Is now GCC-7.
(gfortran): Is now GFORTRAN-7.
(gcc-objc): Is now GCC-OBJC-7.
(gcc-objc++): Is now GCC-OBJC++-7.
* gnu/packages/commencement.scm (gcc-toolchain-5): Use MAKE-GCC-TOOLCHAIN.
(gcc-toolchain-7): Is now GCC-TOOLCHAIN.
---
gnu/packages/commencement.scm | 20 +++++++++++++++-----
gnu/packages/gcc.scm | 8 ++++----
2 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 6dfa89315..5bcd98584 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1765,6 +1765,7 @@ exec " gcc "/bin/" program
"--disable-libsanitizer"
"--disable-libitm"
"--disable-libgomp"
+ "--disable-libmpx"
"--disable-libcilkrts"
"--disable-libvtv"
"--disable-libssp"
@@ -2393,6 +2394,15 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
char-set:letter)
,(package-name lib)))
(list gmp-6.0 mpfr mpc))
+ #t)))
+ (add-before 'configure 'treat-glibc-as-system-header
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((libc (assoc-ref inputs "libc")))
+ ;; Make sure Glibc is treated as a "system header" so
+ ;; #include_next does the right thing.
+ (for-each (lambda (var)
+ (setenv var (string-append libc "/include")))
+ '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"))
#t))))))))
;; This time we want Texinfo, so we get the manual. Add
@@ -2641,23 +2651,23 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
("libc-debug" ,glibc-final "debug")
("libc-static" ,glibc-final "static")))))
+(define-public gcc-toolchain
+ (make-gcc-toolchain gcc-final))
+
(define-public gcc-toolchain-4.8
(make-gcc-toolchain gcc-4.8))
(define-public gcc-toolchain-4.9
(make-gcc-toolchain gcc-4.9))
-(define-public gcc-toolchain
- (make-gcc-toolchain gcc-final))
-
(define-public gcc-toolchain-5
- gcc-toolchain)
+ (make-gcc-toolchain gcc-5))
(define-public gcc-toolchain-6
(make-gcc-toolchain gcc-6))
(define-public gcc-toolchain-7
- (make-gcc-toolchain gcc-7))
+ gcc-toolchain)
(define-public gcc-toolchain-8
(make-gcc-toolchain gcc-8))
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 820710417..7a8e40982 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -539,7 +539,7 @@ It also includes runtime support libraries for these languages.")))
;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions and the gfortran definition
;; accordingly.
-(define-public gcc gcc-5)
+(define-public gcc gcc-7)
(define-public (make-libstdc++ gcc)
"Return a libstdc++ package based on GCC. The primary use case is when
@@ -677,7 +677,7 @@ as the 'native-search-paths' field."
;; (custom-gcc gcc "fortran" …) because that would lead to a package object
;; that is not 'eq?' with GFORTRAN-5, and thus 'fold-packages' would
;; report two gfortran <at> 5 that are in fact identical.
- gfortran-5)
+ gfortran-7)
(define-public gccgo-4.9
(custom-gcc gcc-4.9 "gccgo" '("go")
@@ -741,7 +741,7 @@ as the 'native-search-paths' field."
(variable "LIBRARY_PATH")
(files '("lib" "lib64"))))))
-(define-public gcc-objc gcc-objc-5)
+(define-public gcc-objc gcc-objc-7)
(define-public gcc-objc++-4.8
(custom-gcc gcc-4.8 "gcc-objc++" '("obj-c++")
@@ -797,7 +797,7 @@ as the 'native-search-paths' field."
(variable "LIBRARY_PATH")
(files '("lib" "lib64"))))))
-(define-public gcc-objc++ gcc-objc++-5)
+(define-public gcc-objc++ gcc-objc++-7)
(define (make-libstdc++-doc gcc)
"Return a package with the libstdc++ documentation for GCC."
--
2.19.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Sat, 06 Oct 2018 13:17:04 GMT)
Full text and
rfc822 format available.
Message #23 received at 32953 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/patches/python-3-search-paths.patch: s/C_INCLUDE_PATH/CPATH.
* gnu/packages/patches/python-2.7-search-paths.patch: Ditto.
---
gnu/packages/patches/python-2.7-search-paths.patch | 4 ++--
gnu/packages/patches/python-3-search-paths.patch | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/gnu/packages/patches/python-2.7-search-paths.patch b/gnu/packages/patches/python-2.7-search-paths.patch
index ba7235df2..a012bc8fe 100644
--- a/gnu/packages/patches/python-2.7-search-paths.patch
+++ b/gnu/packages/patches/python-2.7-search-paths.patch
@@ -1,4 +1,4 @@
-Make sure the build system honors C_INCLUDE_PATH and LIBRARY_PATH when
+Make sure the build system honors CPATH and LIBRARY_PATH when
looking for headers and libraries.
--- Python-2.7.10/setup.py 2015-10-07 18:33:18.125153186 +0200
@@ -9,7 +9,7 @@ looking for headers and libraries.
+ # Always honor these variables.
+ lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep)
-+ inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
++ inc_dirs += os.getenv('CPATH', '').split(os.pathsep)
+
# OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
if host_platform in ['osf1', 'unixware7', 'openunix8']:
diff --git a/gnu/packages/patches/python-3-search-paths.patch b/gnu/packages/patches/python-3-search-paths.patch
index 73e3f4ccf..c82470563 100644
--- a/gnu/packages/patches/python-3-search-paths.patch
+++ b/gnu/packages/patches/python-3-search-paths.patch
@@ -1,4 +1,4 @@
-Make sure the build system honors C_INCLUDE_PATH and LIBRARY_PATH when
+Make sure the build system honors CPATH and LIBRARY_PATH when
looking for headers and libraries.
--- setup.py 2015-10-07 23:32:58.891329173 +0200
@@ -10,7 +10,7 @@ looking for headers and libraries.
- lib_dirs = self.compiler.library_dirs + system_lib_dirs
- inc_dirs = self.compiler.include_dirs + system_include_dirs
+ lib_dirs = os.getenv('LIBRARY_PATH', '').split(os.pathsep)
-+ inc_dirs = os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
++ inc_dirs = os.getenv('CPATH', '').split(os.pathsep)
else:
# Add the sysroot paths. 'sysroot' is a compiler option used to
# set the logical path of the standard system headers and
--
2.19.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Sat, 06 Oct 2018 13:17:04 GMT)
Full text and
rfc822 format available.
Message #26 received at 32953 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/cmake.scm (cmake)[arguments]: Try both CPATH and C_INCLUDE_PATH
instead of just the latter.
---
gnu/packages/cmake.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 5abf08755..3f3f1c1f4 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -116,7 +116,8 @@
;; Help cmake's bootstrap process to find system libraries
(begin
(setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
- (setenv "CMAKE_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
+ (setenv "CMAKE_INCLUDE_PATH" (or (getenv "CPATH")
+ (getenv "C_INCLUDE_PATH")))
#t)))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
--
2.19.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Sat, 06 Oct 2018 13:17:05 GMT)
Full text and
rfc822 format available.
Message #29 received at 32953 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/check.scm (cppunit): Update to 1.14.0.
(cppunit-1.14): Remove variable.
* gnu/packages/libreoffice.scm (libreoffice)[inputs]: Change CPPUNIT-1.14 to CPPUNIT.
---
gnu/packages/check.scm | 21 ++-------------------
gnu/packages/libreoffice.scm | 2 +-
2 files changed, 3 insertions(+), 20 deletions(-)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 1373f1786..9ba85045f 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -124,14 +124,14 @@ with a flexible variety of user interfaces.")
(define-public cppunit
(package
(name "cppunit")
- (version "1.13.2")
+ (version "1.14.0")
(source (origin
(method url-fetch)
(uri (string-append "http://dev-www.libreoffice.org/src/"
name "-" version ".tar.gz"))
(sha256
(base32
- "17s2kzmkw3kfjhpp72rfppyd7syr7bdq5s69syj2nvrlwd3d4irz"))))
+ "1027cyfx5gsjkdkaf6c2wnjh68882grw8n672018cj3vs9lrhmix"))))
;; Explicitly link with libdl. This is expected to be done by packages
;; relying on cppunit for their tests. However, not all of them do.
;; If we added the linker flag to such packages, we would pollute all
@@ -146,23 +146,6 @@ unit testing. Test output is in XML for automatic testing and GUI based for
supervised tests.")
(license license:lgpl2.1))) ; no copyright notices. LGPL2.1 is in the tarball
-;; Some packages require this newer version of cppunit. However, it needs
-;; C++11 support, which is not enabled by default in our current GCC, and
-;; updating in-place would require adding CXXFLAGS to many dependent packages.
-;; Thus, keep as a separate variable for now.
-;; TODO: Remove this when our default GCC is updated to 6 or higher.
-(define-public cppunit-1.14
- (package
- (inherit cppunit)
- (version "1.14.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://dev-www.libreoffice.org/src/"
- "cppunit-" version ".tar.gz"))
- (sha256
- (base32
- "1027cyfx5gsjkdkaf6c2wnjh68882grw8n672018cj3vs9lrhmix"))))))
-
;; When dependent packages upgraded to use newer version of catch, this one should
;; be removed.
(define-public catch-framework
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 18edfcd35..4a1d3187a 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -951,7 +951,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
- ("cppunit" ,cppunit-1.14)
+ ("cppunit" ,cppunit)
("flex" ,flex)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
--
2.19.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Sat, 06 Oct 2018 17:01:02 GMT)
Full text and
rfc822 format available.
Message #32 received at 32953 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Marius Bakke <mbakke <at> fastmail.com> writes:
> Guix,
>
> Here are patches that allow building the world with GCC7.
>
> The cross-toolchain and bootstrap tarballs need more work, but native
> x86_64 at least is largely fine.
>
> Marius Bakke (8):
> gnu: Remove gcc-for-libstdc++.
> gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
> gnu: gcc-boot0: Improve gcc-wrapper workarounds.
> gnu: Remove duplicate linux-libre-headers package from bootstrap
> inputs.
> gnu: Use GCC 7 as the default compiler.
> gnu: python: Fix FTBFS with GCC >= 6.
> gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system
> libraries.
> gnu: cppunit: Update to 1.14.0.
I've pushed these to 'wip-gcc7' on Savannah for easier access:
https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-gcc7
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Thu, 11 Oct 2018 08:06:02 GMT)
Full text and
rfc822 format available.
Message #35 received at 32953 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
LGTM!
[Message part 2 (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Thu, 11 Oct 2018 08:07:01 GMT)
Full text and
rfc822 format available.
Message #38 received at 32953 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Marius,
On Sat, 6 Oct 2018 15:16:38 +0200
Marius Bakke <mbakke <at> fastmail.com> wrote:
> * gnu/packages/cmake.scm (cmake)[arguments]: Try both CPATH and C_INCLUDE_PATH
> instead of just the latter.
Hmm... why?
I thought if one used CPATH it would not treat the headers as a system
headers and one would get a lot of errors anyway (because #include_next
wouldn't work and also because of things one "ought" not to do which
the system headers do anyway and get a pass on).
[Message part 2 (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Thu, 11 Oct 2018 08:09:02 GMT)
Full text and
rfc822 format available.
Message #41 received at 32953 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
LGTM!
[Message part 2 (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Thu, 11 Oct 2018 08:09:03 GMT)
Full text and
rfc822 format available.
Message #44 received at 32953 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
LGTM!
[Message part 2 (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Thu, 11 Oct 2018 08:10:02 GMT)
Full text and
rfc822 format available.
Message #47 received at 32953 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
LGTM!
[Message part 2 (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Thu, 11 Oct 2018 08:18:02 GMT)
Full text and
rfc822 format available.
Message #50 received at 32953 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
LGTM!
[Message part 2 (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Thu, 27 Dec 2018 11:00:08 GMT)
Full text and
rfc822 format available.
Message #53 received at 32953 <at> debbugs.gnu.org (full text, mbox):
Hi Marius!
Marius Bakke <mbakke <at> fastmail.com> skribis:
> Marius Bakke <mbakke <at> fastmail.com> writes:
>
>> Guix,
>>
>> Here are patches that allow building the world with GCC7.
>>
>> The cross-toolchain and bootstrap tarballs need more work, but native
>> x86_64 at least is largely fine.
>>
>> Marius Bakke (8):
>> gnu: Remove gcc-for-libstdc++.
>> gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
>> gnu: gcc-boot0: Improve gcc-wrapper workarounds.
>> gnu: Remove duplicate linux-libre-headers package from bootstrap
>> inputs.
>> gnu: Use GCC 7 as the default compiler.
>> gnu: python: Fix FTBFS with GCC >= 6.
>> gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system
>> libraries.
>> gnu: cppunit: Update to 1.14.0.
>
> I've pushed these to 'wip-gcc7' on Savannah for easier access:
>
> https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-gcc7
I haven’t tested the patch set but I concur with Danny, they LGTM.
Now would be a good time to rebase them on ‘core-updates’ and to merge
them so we get enough time to test and fix things. Would you like to do
that?
Thanks!
Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Sat, 29 Dec 2018 17:59:01 GMT)
Full text and
rfc822 format available.
Message #56 received at 32953 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Thu, Dec 27, 2018 at 11:59:08AM +0100, Ludovic Courtès wrote:
> Hi Marius!
>
> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
> > Marius Bakke <mbakke <at> fastmail.com> writes:
> >
> >> Guix,
> >>
> >> Here are patches that allow building the world with GCC7.
> >>
> >> The cross-toolchain and bootstrap tarballs need more work, but native
> >> x86_64 at least is largely fine.
> >>
> >> Marius Bakke (8):
> >> gnu: Remove gcc-for-libstdc++.
> >> gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
> >> gnu: gcc-boot0: Improve gcc-wrapper workarounds.
> >> gnu: Remove duplicate linux-libre-headers package from bootstrap
> >> inputs.
> >> gnu: Use GCC 7 as the default compiler.
> >> gnu: python: Fix FTBFS with GCC >= 6.
> >> gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system
> >> libraries.
> >> gnu: cppunit: Update to 1.14.0.
> >
> > I've pushed these to 'wip-gcc7' on Savannah for easier access:
> >
> > https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-gcc7
>
> I haven’t tested the patch set but I concur with Danny, they LGTM.
>
> Now would be a good time to rebase them on ‘core-updates’ and to merge
> them so we get enough time to test and fix things. Would you like to do
> that?
>
> Thanks!
>
> Ludo’.
After it's rebased I'll help take a look at the armhf and aarch64
boostrap paths to make sure they work.
--
Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Wed, 16 Jan 2019 13:54:02 GMT)
Full text and
rfc822 format available.
Message #59 received at 32953 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Efraim Flashner <efraim <at> flashner.co.il> writes:
> On Thu, Dec 27, 2018 at 11:59:08AM +0100, Ludovic Courtès wrote:
>> Hi Marius!
>>
>> Marius Bakke <mbakke <at> fastmail.com> skribis:
>>
>> > Marius Bakke <mbakke <at> fastmail.com> writes:
>> >
>> >> Guix,
>> >>
>> >> Here are patches that allow building the world with GCC7.
>> >>
>> >> The cross-toolchain and bootstrap tarballs need more work, but native
>> >> x86_64 at least is largely fine.
>> >>
>> >> Marius Bakke (8):
>> >> gnu: Remove gcc-for-libstdc++.
>> >> gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
>> >> gnu: gcc-boot0: Improve gcc-wrapper workarounds.
>> >> gnu: Remove duplicate linux-libre-headers package from bootstrap
>> >> inputs.
>> >> gnu: Use GCC 7 as the default compiler.
>> >> gnu: python: Fix FTBFS with GCC >= 6.
>> >> gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system
>> >> libraries.
>> >> gnu: cppunit: Update to 1.14.0.
>> >
>> > I've pushed these to 'wip-gcc7' on Savannah for easier access:
>> >
>> > https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-gcc7
>>
>> I haven’t tested the patch set but I concur with Danny, they LGTM.
>>
>> Now would be a good time to rebase them on ‘core-updates’ and to merge
>> them so we get enough time to test and fix things. Would you like to do
>> that?
>>
>> Thanks!
>>
>> Ludo’.
>
> After it's rebased I'll help take a look at the armhf and aarch64
> boostrap paths to make sure they work.
I've pushed an updated patch to "wip-gcc7" based on the latest
'core-updates'.
The cross-compiler toolchain is still broken: it fails to build the very
last GCC. For armhf, the build system tries to include
"gnu/stubs-soft.h" during "./configure" and fails, even though it gets
"--with-float=hard" as a flag.
When building the AArch64 cross-compiler, GCC segfaults later in the
process:
build/genmatch --gimple ../../gcc-7.4.0/gcc/match.pd > tmp-gimple-match.c
/gnu/store/vfqvdfdnd8fi9gcx710mpfaf0x4dfd37-bash-minimal-5.0/bin/bash: line 1: 1789 Segmentation fault
build/genmatch --gimple ../../gcc-7.4.0/gcc/match.pd > tmp-gimple-match.c
make[2]: *** [Makefile:2460: s-match] Error 139
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Sat, 19 Jan 2019 17:10:01 GMT)
Full text and
rfc822 format available.
Message #62 received at 32953 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Wed, Jan 16, 2019 at 02:53:14PM +0100, Marius Bakke wrote:
> Efraim Flashner <efraim <at> flashner.co.il> writes:
>
> > On Thu, Dec 27, 2018 at 11:59:08AM +0100, Ludovic Courtès wrote:
> >> Hi Marius!
> >>
> >> Marius Bakke <mbakke <at> fastmail.com> skribis:
> >>
> >> > Marius Bakke <mbakke <at> fastmail.com> writes:
> >> >
> >> >> Guix,
> >> >>
> >> >> Here are patches that allow building the world with GCC7.
> >> >>
> >> >> The cross-toolchain and bootstrap tarballs need more work, but native
> >> >> x86_64 at least is largely fine.
> >> >>
> >> >> Marius Bakke (8):
> >> >> gnu: Remove gcc-for-libstdc++.
> >> >> gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
> >> >> gnu: gcc-boot0: Improve gcc-wrapper workarounds.
> >> >> gnu: Remove duplicate linux-libre-headers package from bootstrap
> >> >> inputs.
> >> >> gnu: Use GCC 7 as the default compiler.
> >> >> gnu: python: Fix FTBFS with GCC >= 6.
> >> >> gnu: cmake: Try CPATH and C_INCLUDE_PATH when finding system
> >> >> libraries.
> >> >> gnu: cppunit: Update to 1.14.0.
> >> >
> >> > I've pushed these to 'wip-gcc7' on Savannah for easier access:
> >> >
> >> > https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-gcc7
> >>
> >> I haven’t tested the patch set but I concur with Danny, they LGTM.
> >>
> >> Now would be a good time to rebase them on ‘core-updates’ and to merge
> >> them so we get enough time to test and fix things. Would you like to do
> >> that?
> >>
> >> Thanks!
> >>
> >> Ludo’.
> >
> > After it's rebased I'll help take a look at the armhf and aarch64
> > boostrap paths to make sure they work.
>
> I've pushed an updated patch to "wip-gcc7" based on the latest
> 'core-updates'.
>
I fixed the bootstrapping on aarch64- and armhf-linux.
glibc-final-with-bootstrap-bash was failing to find errno.h and some
other headers, disabling the obsolete rpc support (which wasn't enabled
anywhere else) made it work.
> The cross-compiler toolchain is still broken: it fails to build the very
> last GCC. For armhf, the build system tries to include
> "gnu/stubs-soft.h" during "./configure" and fails, even though it gets
> "--with-float=hard" as a flag.
>
> When building the AArch64 cross-compiler, GCC segfaults later in the
> process:
>
> build/genmatch --gimple ../../gcc-7.4.0/gcc/match.pd > tmp-gimple-match.c
> /gnu/store/vfqvdfdnd8fi9gcx710mpfaf0x4dfd37-bash-minimal-5.0/bin/bash: line 1: 1789 Segmentation fault
> build/genmatch --gimple ../../gcc-7.4.0/gcc/match.pd > tmp-gimple-match.c
> make[2]: *** [Makefile:2460: s-match] Error 139
I'm going to see if I can build hello --target=arm-linux-gnueabihf next
and see how that works.
--
Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Sat, 19 Jan 2019 20:02:01 GMT)
Full text and
rfc822 format available.
Message #65 received at 32953 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Sat, Jan 19, 2019 at 07:09:04PM +0200, Efraim Flashner wrote:
>
> I'm going to see if I can build hello --target=arm-linux-gnueabihf next
> and see how that works.
When I get to gcc-cross-arm-linux-gnueabihf it fails during configure,
cannot find gmp.h. Looking at (gnu packages cross-base), I don't think
there are any package-inputs for xgcc. I still thought gcc bundled its
own gmp et. al.
--
Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Wed, 06 Feb 2019 20:25:01 GMT)
Full text and
rfc822 format available.
Message #68 received at 32953 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Efraim Flashner <efraim <at> flashner.co.il> writes:
> On Sat, Jan 19, 2019 at 07:09:04PM +0200, Efraim Flashner wrote:
>>
>> I'm going to see if I can build hello --target=arm-linux-gnueabihf next
>> and see how that works.
>
> When I get to gcc-cross-arm-linux-gnueabihf it fails during configure,
> cannot find gmp.h. Looking at (gnu packages cross-base), I don't think
> there are any package-inputs for xgcc. I still thought gcc bundled its
> own gmp et. al.
I'm happy to report that the cross-compilation issues are resolved with
this trivial patch:
[Message part 2 (text/x-patch, inline)]
2 files changed, 5 insertions(+), 11 deletions(-)
gnu/build/cross-toolchain.scm | 9 +++------
gnu/packages/cross-base.scm | 7 ++-----
modified gnu/build/cross-toolchain.scm
@@ -36,11 +36,8 @@
(define %gcc-include-paths
;; Environment variables for header search paths.
- ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
- '("C_INCLUDE_PATH"
- "CPLUS_INCLUDE_PATH"
- "OBJC_INCLUDE_PATH"
- "OBJCPLUS_INCLUDE_PATH"))
+ ;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co.
+ '("CPATH"))
(define %gcc-cross-include-paths
;; Search path for target headers when cross-compiling.
@@ -179,7 +176,7 @@ a target triplet."
;; header" such that #include_next does the right thing.
(for-each (lambda (var)
(setenv var (string-append libc "/include")))
- '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")))
+ '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH")))
#t)))
(add-after 'install 'make-cross-binutils-visible
(cut make-cross-binutils-visible #:target target <...>))
modified gnu/packages/cross-base.scm
@@ -51,11 +51,8 @@
(define %gcc-include-paths
;; Environment variables for header search paths.
- ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
- '("C_INCLUDE_PATH"
- "CPLUS_INCLUDE_PATH"
- "OBJC_INCLUDE_PATH"
- "OBJCPLUS_INCLUDE_PATH"))
+ ;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co.
+ '("CPATH"))
(define %gcc-cross-include-paths
;; Search path for target headers when cross-compiling.
[back]
[Message part 3 (text/plain, inline)]
Silly me for not catching the CROSS_C_INCLUDE_PATH issue earlier. But,
at least I got to know the GCC build processes and GDB better... ;-)
I will commit this series shortly and work on a followup patch that
removes the various GCC5/C++14 workarounds in one go.
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Wed, 06 Feb 2019 22:37:01 GMT)
Full text and
rfc822 format available.
Message #71 received at 32953 <at> debbugs.gnu.org (full text, mbox):
Hi Marius,
> Efraim Flashner <efraim <at> flashner.co.il> writes:
>
>> On Sat, Jan 19, 2019 at 07:09:04PM +0200, Efraim Flashner wrote:
>>>
>>> I'm going to see if I can build hello --target=arm-linux-gnueabihf next
>>> and see how that works.
>>
>> When I get to gcc-cross-arm-linux-gnueabihf it fails during configure,
>> cannot find gmp.h. Looking at (gnu packages cross-base), I don't think
>> there are any package-inputs for xgcc. I still thought gcc bundled its
>> own gmp et. al.
>
> I'm happy to report that the cross-compilation issues are resolved with
> this trivial patch:
>
> 2 files changed, 5 insertions(+), 11 deletions(-)
> gnu/build/cross-toolchain.scm | 9 +++------
> gnu/packages/cross-base.scm | 7 ++-----
>
> modified gnu/build/cross-toolchain.scm
> @@ -36,11 +36,8 @@
>
> (define %gcc-include-paths
> ;; Environment variables for header search paths.
> - ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
> - '("C_INCLUDE_PATH"
> - "CPLUS_INCLUDE_PATH"
> - "OBJC_INCLUDE_PATH"
> - "OBJCPLUS_INCLUDE_PATH"))
> + ;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co.
> + '("CPATH"))
>
> (define %gcc-cross-include-paths
> ;; Search path for target headers when cross-compiling.
> @@ -179,7 +176,7 @@ a target triplet."
> ;; header" such that #include_next does the right thing.
> (for-each (lambda (var)
> (setenv var (string-append libc "/include")))
> - '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")))
> + '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH")))
> #t)))
> (add-after 'install 'make-cross-binutils-visible
> (cut make-cross-binutils-visible #:target target <...>))
> modified gnu/packages/cross-base.scm
> @@ -51,11 +51,8 @@
>
> (define %gcc-include-paths
> ;; Environment variables for header search paths.
> - ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
> - '("C_INCLUDE_PATH"
> - "CPLUS_INCLUDE_PATH"
> - "OBJC_INCLUDE_PATH"
> - "OBJCPLUS_INCLUDE_PATH"))
> + ;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co.
> + '("CPATH"))
>
> (define %gcc-cross-include-paths
> ;; Search path for target headers when cross-compiling.
>
> [back]
> Silly me for not catching the CROSS_C_INCLUDE_PATH issue earlier. But,
> at least I got to know the GCC build processes and GDB better... ;-)
>
> I will commit this series shortly and work on a followup patch that
> removes the various GCC5/C++14 workarounds in one go.
Will this break compilation with GCC5 and older, when they are installed
in a profile or used as inputs? Do we need copies of these variables
and use different variants for different compiler versions?
--
Ricardo
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Wed, 06 Feb 2019 23:04:01 GMT)
Full text and
rfc822 format available.
Message #74 received at 32953 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:
> Hi Marius,
>
>> Efraim Flashner <efraim <at> flashner.co.il> writes:
>>
>>> On Sat, Jan 19, 2019 at 07:09:04PM +0200, Efraim Flashner wrote:
>>>>
>>>> I'm going to see if I can build hello --target=arm-linux-gnueabihf next
>>>> and see how that works.
>>>
>>> When I get to gcc-cross-arm-linux-gnueabihf it fails during configure,
>>> cannot find gmp.h. Looking at (gnu packages cross-base), I don't think
>>> there are any package-inputs for xgcc. I still thought gcc bundled its
>>> own gmp et. al.
>>
>> I'm happy to report that the cross-compilation issues are resolved with
>> this trivial patch:
>>
>> 2 files changed, 5 insertions(+), 11 deletions(-)
>> gnu/build/cross-toolchain.scm | 9 +++------
>> gnu/packages/cross-base.scm | 7 ++-----
>>
>> modified gnu/build/cross-toolchain.scm
>> @@ -36,11 +36,8 @@
>>
>> (define %gcc-include-paths
>> ;; Environment variables for header search paths.
>> - ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
>> - '("C_INCLUDE_PATH"
>> - "CPLUS_INCLUDE_PATH"
>> - "OBJC_INCLUDE_PATH"
>> - "OBJCPLUS_INCLUDE_PATH"))
>> + ;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co.
>> + '("CPATH"))
>>
>> (define %gcc-cross-include-paths
>> ;; Search path for target headers when cross-compiling.
>> @@ -179,7 +176,7 @@ a target triplet."
>> ;; header" such that #include_next does the right thing.
>> (for-each (lambda (var)
>> (setenv var (string-append libc "/include")))
>> - '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")))
>> + '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH")))
>> #t)))
>> (add-after 'install 'make-cross-binutils-visible
>> (cut make-cross-binutils-visible #:target target <...>))
>> modified gnu/packages/cross-base.scm
>> @@ -51,11 +51,8 @@
>>
>> (define %gcc-include-paths
>> ;; Environment variables for header search paths.
>> - ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
>> - '("C_INCLUDE_PATH"
>> - "CPLUS_INCLUDE_PATH"
>> - "OBJC_INCLUDE_PATH"
>> - "OBJCPLUS_INCLUDE_PATH"))
>> + ;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co.
>> + '("CPATH"))
>>
>> (define %gcc-cross-include-paths
>> ;; Search path for target headers when cross-compiling.
>>
>> [back]
>> Silly me for not catching the CROSS_C_INCLUDE_PATH issue earlier. But,
>> at least I got to know the GCC build processes and GDB better... ;-)
>>
>> I will commit this series shortly and work on a followup patch that
>> removes the various GCC5/C++14 workarounds in one go.
>
> Will this break compilation with GCC5 and older, when they are installed
> in a profile or used as inputs? Do we need copies of these variables
> and use different variants for different compiler versions?
I believe using (CROSS_)CPATH will work for all GCC versions, whereas
(CROSS_)C_INCLUDE_PATH are broken for GCC >= 6.
We do use C_INCLUDE_PATH for GCC < 6 in (gnu packages gcc), but I don't
think the added complexity is worth it for the cross-compiler
infrastructure.
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Fri, 08 Feb 2019 14:15:02 GMT)
Full text and
rfc822 format available.
Message #77 received at 32953 <at> debbugs.gnu.org (full text, mbox):
Marius Bakke <mbakke <at> fastmail.com> writes:
> Ricardo Wurmus <rekado <at> elephly.net> writes:
>
>> Hi Marius,
>>
>>> Efraim Flashner <efraim <at> flashner.co.il> writes:
>>>
>>>> On Sat, Jan 19, 2019 at 07:09:04PM +0200, Efraim Flashner wrote:
>>>>>
>>>>> I'm going to see if I can build hello --target=arm-linux-gnueabihf next
>>>>> and see how that works.
>>>>
>>>> When I get to gcc-cross-arm-linux-gnueabihf it fails during configure,
>>>> cannot find gmp.h. Looking at (gnu packages cross-base), I don't think
>>>> there are any package-inputs for xgcc. I still thought gcc bundled its
>>>> own gmp et. al.
>>>
>>> I'm happy to report that the cross-compilation issues are resolved with
>>> this trivial patch:
>>>
>>> 2 files changed, 5 insertions(+), 11 deletions(-)
>>> gnu/build/cross-toolchain.scm | 9 +++------
>>> gnu/packages/cross-base.scm | 7 ++-----
>>>
>>> modified gnu/build/cross-toolchain.scm
>>> @@ -36,11 +36,8 @@
>>>
>>> (define %gcc-include-paths
>>> ;; Environment variables for header search paths.
>>> - ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
>>> - '("C_INCLUDE_PATH"
>>> - "CPLUS_INCLUDE_PATH"
>>> - "OBJC_INCLUDE_PATH"
>>> - "OBJCPLUS_INCLUDE_PATH"))
>>> + ;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co.
>>> + '("CPATH"))
>>>
>>> (define %gcc-cross-include-paths
>>> ;; Search path for target headers when cross-compiling.
>>> @@ -179,7 +176,7 @@ a target triplet."
>>> ;; header" such that #include_next does the right thing.
>>> (for-each (lambda (var)
>>> (setenv var (string-append libc "/include")))
>>> - '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")))
>>> + '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH")))
>>> #t)))
>>> (add-after 'install 'make-cross-binutils-visible
>>> (cut make-cross-binutils-visible #:target target <...>))
>>> modified gnu/packages/cross-base.scm
>>> @@ -51,11 +51,8 @@
>>>
>>> (define %gcc-include-paths
>>> ;; Environment variables for header search paths.
>>> - ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
>>> - '("C_INCLUDE_PATH"
>>> - "CPLUS_INCLUDE_PATH"
>>> - "OBJC_INCLUDE_PATH"
>>> - "OBJCPLUS_INCLUDE_PATH"))
>>> + ;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co.
>>> + '("CPATH"))
>>>
>>> (define %gcc-cross-include-paths
>>> ;; Search path for target headers when cross-compiling.
>>>
>>> [back]
>>> Silly me for not catching the CROSS_C_INCLUDE_PATH issue earlier. But,
>>> at least I got to know the GCC build processes and GDB better... ;-)
>>>
>>> I will commit this series shortly and work on a followup patch that
>>> removes the various GCC5/C++14 workarounds in one go.
>>
>> Will this break compilation with GCC5 and older, when they are installed
>> in a profile or used as inputs? Do we need copies of these variables
>> and use different variants for different compiler versions?
>
> I believe using (CROSS_)CPATH will work for all GCC versions, whereas
> (CROSS_)C_INCLUDE_PATH are broken for GCC >= 6.
>
> We do use C_INCLUDE_PATH for GCC < 6 in (gnu packages gcc), but I don't
> think the added complexity is worth it for the cross-compiler
> infrastructure.
Thanks for the explanation.
Will this allow us to close bug #30756?
--
Ricardo
Information forwarded
to
guix-patches <at> gnu.org
:
bug#32953
; Package
guix-patches
.
(Sat, 09 Feb 2019 15:01:02 GMT)
Full text and
rfc822 format available.
Message #80 received at 32953 <at> debbugs.gnu.org (full text, mbox):
Hi Marius,
Marius Bakke <mbakke <at> fastmail.com> skribis:
> Efraim Flashner <efraim <at> flashner.co.il> writes:
>
>> On Sat, Jan 19, 2019 at 07:09:04PM +0200, Efraim Flashner wrote:
>>>
>>> I'm going to see if I can build hello --target=arm-linux-gnueabihf next
>>> and see how that works.
>>
>> When I get to gcc-cross-arm-linux-gnueabihf it fails during configure,
>> cannot find gmp.h. Looking at (gnu packages cross-base), I don't think
>> there are any package-inputs for xgcc. I still thought gcc bundled its
>> own gmp et. al.
>
> I'm happy to report that the cross-compilation issues are resolved with
> this trivial patch:
Awesome! I think you could squash this with the “gnu: Use GCC 7 as the
default compiler.” commit, and then go ahead and push.
I’m happy we’ll soon have a more recent base compiler!
Thank you,
Ludo’.
Reply sent
to
Marius Bakke <mbakke <at> fastmail.com>
:
You have taken responsibility.
(Sat, 09 Feb 2019 20:58:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Marius Bakke <mbakke <at> fastmail.com>
:
bug acknowledged by developer.
(Sat, 09 Feb 2019 20:58:01 GMT)
Full text and
rfc822 format available.
Message #85 received at 32953-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:
> Hi Marius,
>
> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
>> Efraim Flashner <efraim <at> flashner.co.il> writes:
>>
>>> On Sat, Jan 19, 2019 at 07:09:04PM +0200, Efraim Flashner wrote:
>>>>
>>>> I'm going to see if I can build hello --target=arm-linux-gnueabihf next
>>>> and see how that works.
>>>
>>> When I get to gcc-cross-arm-linux-gnueabihf it fails during configure,
>>> cannot find gmp.h. Looking at (gnu packages cross-base), I don't think
>>> there are any package-inputs for xgcc. I still thought gcc bundled its
>>> own gmp et. al.
>>
>> I'm happy to report that the cross-compilation issues are resolved with
>> this trivial patch:
>
> Awesome! I think you could squash this with the “gnu: Use GCC 7 as the
> default compiler.” commit, and then go ahead and push.
>
> I’m happy we’ll soon have a more recent base compiler!
Merged in 01e8263febb9634564b4b73af49b81a36567a11b !
[signature.asc (application/pgp-signature, inline)]
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 10 Mar 2019 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 5 years and 20 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.