unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Rutger Helling <rhelling@mykolab.com>
To: guix-devel@gnu.org
Subject: Building Wine with MinGW cross-compilation
Date: Sat, 03 Aug 2019 15:08:57 +0200	[thread overview]
Message-ID: <c88ed4801f0e5b50abbec0f750921408@mykolab.com> (raw)
In-Reply-To: <edad6aec80f3ca452ff5fb1edecc0308@mykolab.com>


[-- Attachment #1.1: Type: text/plain, Size: 2241 bytes --]

 

Hello Guix, 

in recent versions Wine (Wine-Staging in our case) gained the ability to
build modules as PE files for better compatibility. I've been trying to
get this working and was wondering if someone more familiar with
cross-compilation knows what's going wrong with the compilation. 

First I tried adding mingw-w64 to the native-inputs. This results in a
configure error: "C compiler cannot create executables". See
wine-patch1.patch for the patch and wine-patch1-config.log for the
configuration log. 

I've had a little more success with adding MinGW triplets of cross-gcc
and cross-binutils to native-inputs. See wine-patch2.patch and
wine-patch2-config.log. 
The configure phase does work this time and MinGW cross-compilation
seems to be recognized. However during compiling eventually I get a
failure regarding #include_next and stdarg.h: 

---
In file included from data_formats.c:23:0:
/gnu/store/fhsaq7gzg7gkkg0wyix6w1nm96fhs7bh-gcc-cross-sans-libc-i686-w64-mingw32-7.4.0/lib/gcc/i686-w64-mingw32/7.4.0/include/stdarg.h:1:15:
fatal error: stdarg.h: No such file or directory
#include_next <stdarg.h>
^~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:227: data_formats.cross.o] Error 1
make[1]: Leaving directory
'/tmp/guix-build-wine-staging-4.13.drv-0/wine-4.13/dlls/dinput'
make: *** [Makefile:3209: dlls/dinput/libdinput.cross.a] Error 2
make: *** Waiting for unfinished jobs....
i686-w64-mingw32-gcc -c -o adsiid.cross.o adsiid.c -I. -I../../include
-D__WINESRC__ -DWINE_CROSS_PE -Wall -g -O2
In file included from adsiid.c:21:0:
/gnu/store/fhsaq7gzg7gkkg0wyix6w1nm96fhs7bh-gcc-cross-sans-libc-i686-w64-mingw32-7.4.0/lib/gcc/i686-w64-mingw32/7.4.0/include/stdarg.h:1:15:
fatal error: stdarg.h: No such file or directory
#include_next <stdarg.h>
^~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:176: adsiid.cross.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory
'/tmp/guix-build-wine-staging-4.13.drv-0/wine-4.13/dlls/adsiid'
make: *** [Makefile:8515: dlls/adsiid] Error 2
--- 

If I add cross-libc it just seems to add mingw-w64 again and I get the
same error about the C compiler not being able to create executables. 

Does anyone have any ideas on how to fix this?

[-- Attachment #1.2: Type: text/html, Size: 2643 bytes --]

[-- Attachment #2: logs-patches.zip --]
[-- Type: application/zip, Size: 71021 bytes --]

       reply	other threads:[~2019-08-03 13:09 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <edad6aec80f3ca452ff5fb1edecc0308@mykolab.com>
2019-08-03 13:08 ` Rutger Helling [this message]
2019-09-10 19:45 Building Wine with MinGW cross-compilation Carl Dong
2019-09-11  8:30 ` Rutger Helling

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c88ed4801f0e5b50abbec0f750921408@mykolab.com \
    --to=rhelling@mykolab.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).