unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Building Wine with MinGW cross-compilation
       [not found] <edad6aec80f3ca452ff5fb1edecc0308@mykolab.com>
@ 2019-08-03 13:08 ` Rutger Helling
  0 siblings, 0 replies; 3+ messages in thread
From: Rutger Helling @ 2019-08-03 13:08 UTC (permalink / raw)
  To: guix-devel


[-- 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 --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Building Wine with MinGW cross-compilation
@ 2019-09-10 19:45 Carl Dong
  2019-09-11  8:30 ` Rutger Helling
  0 siblings, 1 reply; 3+ messages in thread
From: Carl Dong @ 2019-09-10 19:45 UTC (permalink / raw)
  To: rhelling@mykolab.com, Guix-devel

[-- Attachment #1: Type: text/plain, Size: 268 bytes --]

Hi Rutger!

Did you ever figure out the mingw wine cross-compilation? I believe it has something to do with the CROSS_* env vars or search path order, becuase stdarg.h is definitely provided by mingw-w64.

Cheers,
Carl Dong
accounts@carldong.me
"I fight for the users"

[-- Attachment #2: Type: text/html, Size: 632 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Building Wine with MinGW cross-compilation
  2019-09-10 19:45 Building Wine with MinGW cross-compilation Carl Dong
@ 2019-09-11  8:30 ` Rutger Helling
  0 siblings, 0 replies; 3+ messages in thread
From: Rutger Helling @ 2019-09-11  8:30 UTC (permalink / raw)
  To: Carl Dong; +Cc: Guix-devel

[-- Attachment #1: Type: text/plain, Size: 607 bytes --]

Hi Carl, 

unfortunately I'm still stuck. The stdarg.h error only appears if I add
MinGW cross versions of gcc and binutils. If I add mingw-w64 instead of
those the build quits immediately upon the configure phase with an error
that the C compiler cannot create executables. 

On 2019-09-10 21:45, Carl Dong wrote:

> Hi Rutger! 
> 
> Did you ever figure out the mingw wine cross-compilation? I believe it has something to do with the CROSS_* env vars or search path order, becuase stdarg.h is definitely provided by mingw-w64. 
> 
> Cheers, 
> Carl Dong 
> accounts@carldong.me 
> _"I fight for the users"_

[-- Attachment #2: Type: text/html, Size: 1380 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-09-11  8:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-10 19:45 Building Wine with MinGW cross-compilation Carl Dong
2019-09-11  8:30 ` Rutger Helling
     [not found] <edad6aec80f3ca452ff5fb1edecc0308@mykolab.com>
2019-08-03 13:08 ` Rutger Helling

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).