diff options
author | Carl Dong <contact@carldong.me> | 2022-02-01 12:33:16 -0500 |
---|---|---|
committer | Carl Dong <contact@carldong.me> | 2022-02-07 16:37:43 -0500 |
commit | 2d78b27711d44f39fabf170d044b45247af7babe (patch) | |
tree | a34203d6e21ec3bedf5b7d82c72040f9a9a3adc6 /gnu | |
parent | e5c06dce937d96b36fab73df12ccfb6e77d127ac (diff) | |
download | guix-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.scm | 11 |
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)) |