[bug#53706] gnu: Disable compressed debug sections for mingw-w64
Commit Message
The newly introduced --enable-compressed-debug-section=all configure
flag in the base binutils package makes the mingw-w64 build system
unusable. For example:
$ guix build --target=x86_64-w64-mingw32 hello
and
$ guix build mingw-w64-x86_64-winpthreads
Will fail to build with an error:
"x86_64-w64-mingw32-ld: final link failed: bad value"
Turning off this flag seems to fix the problem, but perhaps it'd also be
worthwhile to investigate the root cause.
* gnu/packages/cross-base.scm (cross-binutils): When building for mingw
targets, append "--enable-compressed-debug-section=no" to configure
flags.
---
gnu/packages/cross-base.scm | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
Comments
Just for some extra context, this commit should not trigger mass rebuilds. I’m happy to commit it myself, but would someone to give me a quick sanity check before doing so!
Related: https://issues.guix.gnu.org/53426 <https://issues.guix.gnu.org/53426>
Cheers,
Carl Dong
Hi Carl,
Carl Dong <contact@carldong.me> writes:
> Just for some extra context, this commit should not trigger mass
> rebuilds. I’m happy to commit it myself, but would someone to give me
> a quick sanity check before doing so!
>
> Related: https://issues.guix.gnu.org/53426 <https://issues.guix.gnu.org/53426>
I just had a quick look, and it LGTM.
Thanks,
Maxim
In master as of 2d78b27711d44f39fabf170d044b45247af7babe
@@ -101,7 +101,16 @@ (define* (cross-binutils target #:optional (binutils binutils))
"ath9k-htc-firmware-binutils.patch")))
((target-mingw? target)
(package-with-extra-patches
- binutils
+ (package-with-extra-configure-variable
+ ;; mingw binutils does not work correctly when configured
+ ;; with `--enable-compressed-debug-sections`. An error
+ ;; like the following will occur whenever you try to link:
+ ;;
+ ;; x86_64-w64-mingw32-ld: final link failed: bad value
+ ;;
+ ;; TODO: This seems like a deeper problem that warrants
+ ;; deeper investigation.
+ binutils "--enable-compressed-debug-sections" "no")
(search-patches "binutils-mingw-w64-timestamp.patch"
"binutils-mingw-w64-deterministic.patch")))
(else binutils))