diff mbox series

[bug#56620,v2,1/2] gnu: mingw: Update to 10.0.0.

Message ID 33c7a38e52c69ec50514916ea86402aaffa7b698.1658170309.git.kaelyn.alexi@protonmail.com
State Accepted
Headers show
Series [bug#56620,v2,1/2] gnu: mingw: Update to 10.0.0. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Kaelyn Takata July 18, 2022, 6:52 p.m. UTC
* gnu/packages/mingw.scm (mingw): Update to 10.0.0.
[arguments] Disable parallel building to avoid failures trying to access empty
.a files.
---
 gnu/packages/mingw.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)


base-commit: 25354b58742fcd9881a26f10623e7cd24f72420d
--
2.36.1

Comments

Ludovic Courtès Aug. 3, 2022, 3:18 p.m. UTC | #1
Hi,

Kaelyn Takata <kaelyn.alexi@protonmail.com> skribis:

> * gnu/packages/mingw.scm (mingw): Update to 10.0.0.
> [arguments] Disable parallel building to avoid failures trying to access empty
> .a files.

[...]

> * gnu/packages/mingw.scm (mingw-w64-tools): Update to 10.0.0.

Applied, thanks!

As discussed on IRC, on master (before the upgrade), linking an
executable fails:

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 223  Aug 01 2022 00:30:24    (current)
  guix ab59155
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: ab59155c5a38dda7efaceb47c7528578fcf0def4
$ guix build gzip --target=x86_64-w64-mingw32 -n --log-file
https://ci.guix.gnu.org/log/qsyn46vn7cvlhrmbds3666kmqp26as9q-gzip-1.10
$ wget -qO- https://ci.guix.gnu.org/log/qsyn46vn7cvlhrmbds3666kmqp26as9q-gzip-1.10 | gunzip | tail -20
/gnu/store/njkaba9vvqkali96xg47al7pcwjpx2w2-mingw-w64-x86_64-8.0.0/include/string.h:228: undefined reference to `__strcpy_chk'
x86_64-w64-mingw32-ld: gzip.o: in function `strcat':
/gnu/store/njkaba9vvqkali96xg47al7pcwjpx2w2-mingw-w64-x86_64-8.0.0/include/string.h:234: undefined reference to `__strcpy_chk'
x86_64-w64-mingw32-ld: lib/libgzip.a(openat-proc.o): in function `sprintf':
/gnu/store/njkaba9vvqkali96xg47al7pcwjpx2w2-mingw-w64-x86_64-8.0.0/include/stdio.h:372: undefined reference to `__chk_fail'
x86_64-w64-mingw32-ld: lib/libgzip.a(vasnprintf.o): in function `sprintf':
/gnu/store/njkaba9vvqkali96xg47al7pcwjpx2w2-mingw-w64-x86_64-8.0.0/include/stdio.h:372: undefined reference to `__chk_fail'
x86_64-w64-mingw32-ld: /gnu/store/njkaba9vvqkali96xg47al7pcwjpx2w2-mingw-w64-x86_64-8.0.0/include/stdio.h:372: undefined reference to `__chk_fail'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:1639: gzip.exe] Error 1
make[2]: Leaving directory '/tmp/guix-build-gzip-1.10.drv-0/gzip-1.10'
make[1]: *** [Makefile:1768: all-recursive] Error 1
make[1]: Leaving directory '/tmp/guix-build-gzip-1.10.drv-0/gzip-1.10'
make: *** [Makefile:1549: all] Error 2
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("-j" "16") exit-status: 2 term-signal: #f stop-signal: #f> 
phase `build' failed after 3.5 seconds
command "make" "-j" "16" failed with status 2
builder for `/gnu/store/g573vakmnipxc8454x3aji51fy5gvvpr-gzip-1.10.drv' failed with exit code 1
@ build-failed /gnu/store/g573vakmnipxc8454x3aji51fy5gvvpr-gzip-1.10.drv - 1 builder for `/gnu/store/g573vakmnipxc8454x3aji51fy5gvvpr-gzip-1.10.drv' failed with exit code 1
--8<---------------cut here---------------end--------------->8---

The bug is still there after the upgrade:

--8<---------------cut here---------------start------------->8---
  CCLD     gzip.exe
x86_64-w64-mingw32-ld: gzip.o: in function `strcpy':
/gnu/store/7b119byi86gb3ab5x87ld9fz5xg5bwyd-mingw-w64-x86_64-10.0.0/include/string.h:228: undefined reference to `__memcpy_chk'
x86_64-w64-mingw32-ld: /gnu/store/7b119byi86gb3ab5x87ld9fz5xg5bwyd-mingw-w64-x86_64-10.0.0/include/string.h:228: undefined reference to `__strcpy_chk'
x86_64-w64-mingw32-ld: /gnu/store/7b119byi86gb3ab5x87ld9fz5xg5bwyd-mingw-w64-x86_64-10.0.0/include/string.h:228: undefined reference to `__memcpy_chk'
x86_64-w64-mingw32-ld: /gnu/store/7b119byi86gb3ab5x87ld9fz5xg5bwyd-mingw-w64-x86_64-10.0.0/include/string.h:228: undefined reference to `__memcpy_chk'
x86_64-w64-mingw32-ld: /gnu/store/7b119byi86gb3ab5x87ld9fz5xg5bwyd-mingw-w64-x86_64-10.0.0/include/string.h:228: undefined reference to `__stpcpy_chk'
x86_64-w64-mingw32-ld: gzip.o: in function `strcat':
/gnu/store/7b119byi86gb3ab5x87ld9fz5xg5bwyd-mingw-w64-x86_64-10.0.0/include/string.h:234: undefined reference to `__memcpy_chk'
x86_64-w64-mingw32-ld: gzip.o: in function `strcpy':
/gnu/store/7b119byi86gb3ab5x87ld9fz5xg5bwyd-mingw-w64-x86_64-10.0.0/include/string.h:228: undefined reference to `__stpcpy_chk'
x86_64-w64-mingw32-ld: gzip.o: in function `strcat':
/gnu/store/7b119byi86gb3ab5x87ld9fz5xg5bwyd-mingw-w64-x86_64-10.0.0/include/string.h:234: undefined reference to `__strcpy_chk'
x86_64-w64-mingw32-ld: gzip.o: in function `strcpy':
/gnu/store/7b119byi86gb3ab5x87ld9fz5xg5bwyd-mingw-w64-x86_64-10.0.0/include/string.h:228: undefined reference to `__strcpy_chk'
x86_64-w64-mingw32-ld: gzip.o: in function `strcat':
/gnu/store/7b119byi86gb3ab5x87ld9fz5xg5bwyd-mingw-w64-x86_64-10.0.0/include/string.h:234: undefined reference to `__strcpy_chk'
x86_64-w64-mingw32-ld: lib/libgzip.a(openat-proc.o): in function `sprintf':
/gnu/store/7b119byi86gb3ab5x87ld9fz5xg5bwyd-mingw-w64-x86_64-10.0.0/include/stdio.h:386: undefined reference to `__chk_fail'
x86_64-w64-mingw32-ld: lib/libgzip.a(vasnprintf.o): in function `sprintf':
/gnu/store/7b119byi86gb3ab5x87ld9fz5xg5bwyd-mingw-w64-x86_64-10.0.0/include/stdio.h:386: undefined reference to `__chk_fail'
x86_64-w64-mingw32-ld: /gnu/store/7b119byi86gb3ab5x87ld9fz5xg5bwyd-mingw-w64-x86_64-10.0.0/include/stdio.h:386: undefined reference to `__chk_fail'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:1639: gzip.exe] Error 1
make[2]: Leaving directory '/tmp/guix-build-gzip-1.10.drv-0/gzip-1.10'
--8<---------------cut here---------------end--------------->8---

So it’s not a regression, but certainly something we’ll have to address
to make cross-compilation to MinGW useful.

Thanks,
Ludo’.
diff mbox series

Patch

diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
index 87a565059e..161fd4ff93 100644
--- a/gnu/packages/mingw.scm
+++ b/gnu/packages/mingw.scm
@@ -46,7 +46,7 @@  (define* (make-mingw-w64 machine
     (package
       (name (string-append "mingw-w64" "-" machine
                            (if with-winpthreads? "-winpthreads" "")))
-      (version "8.0.0")
+      (version "10.0.0")
       (source
        (origin
          (method url-fetch)
@@ -54,7 +54,7 @@  (define* (make-mingw-w64 machine
                "mirror://sourceforge/mingw-w64/mingw-w64/"
                "mingw-w64-release/mingw-w64-v" version ".tar.bz2"))
          (sha256
-          (base32 "0qjpb9rviasfshk337j5r32ncmrwml8sv6qnmb1lp4mkdbm41is4"))
+          (base32 "15089y4rlj6g1m2m3cm3awndw3rbzhznl7skd0vkmikjxl546sxs"))
          (patches
           (search-patches "mingw-w64-6.0.0-gcc.patch"
                           "mingw-w64-dlltool-temp-prefix.patch"
@@ -108,6 +108,7 @@  (define* (make-mingw-w64 machine
                               xlibc "/lib" ":"
                               xlibc "/" ,triplet "/lib"))))))))
          #:make-flags (list "DEFS=-DHAVE_CONFIG_H -D__MINGW_HAS_DXSDK=1")
+         #:parallel-build? #f ; parallel builds often fail with empty .a files
          #:tests? #f ; compiles and includes glibc headers
          #:strip-binaries? #f))
       (home-page "https://mingw-w64.org")