aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorCarl Dong <contact@carldong.me>2022-02-01 12:33:16 -0500
committerCarl Dong <contact@carldong.me>2022-02-07 16:37:43 -0500
commit2d78b27711d44f39fabf170d044b45247af7babe (patch)
treea34203d6e21ec3bedf5b7d82c72040f9a9a3adc6 /gnu
parente5c06dce937d96b36fab73df12ccfb6e77d127ac (diff)
downloadguix-2d78b27711d44f39fabf170d044b45247af7babe.tar
guix-2d78b27711d44f39fabf170d044b45247af7babe.tar.gz
gnu: Disable compressed debug sections for mingw-w64
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.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/cross-base.scm11
1 files changed, 10 insertions, 1 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 78cbf871ac..529144d127 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -101,7 +101,16 @@
"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))