Building a full win32 winetest.exe

Paul Millar paulm at
Fri Dec 29 14:25:39 CST 2006

On Sunday 24 December 2006 09:37, Paul Vriens wrote:
> Doing a simple 'make clean' and 'make' only gives me a
> which is a 'ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV),
> not stripped'.
> Is there something I'm missing here?

Sorry, what I said was a bit incomplete (and a bit misleading).  WRT does 
cross-builds using out-of-tree builds.  There's also a way of doing in-tree 
cross-building, but I don't use it myself.

For the out-of-tree builds, the directories are something like:

Within the wine-native directory, I do something like:
  ../wine-source/configure && make depend \
        && make tools

Within the wine-pe directory, I do something like:
  ../wine-source/configure --host=i686-mingw32msvc --with-wine-tools=../wine-native 
  make depends && make -C libs
[and, the following line, with a big fat FIXME]
  find dlls -name tests -execdir make -C \{\} \;
  make -C programs/winetest winetest.exe

I think just "make" in the wine-pe/programs/winetest directory (instead 
of "make winetest.exe") should work within wine-pe dir.  For in-tree builds 
you probably need to use the explicit "winetest.exe" target.

There is also the "winetest-dist.exe" target that embeds some metadata within 
the winetest executable.  You shouldn't needed this target unless you're 
planning on uploading your results to the pages.

On Monday 25 December 2006 10:22, Paul Vriens wrote:
> cert.cross.o:cert.c:(.text+0x3b05): undefined reference to
> `_CryptSignAndEncodeCertificate at 36' cert.cross.o:cert.c:(.text+0x3bb8):
> [..]/i386-mingw32/bin/ld:
> cannot find -lhlink collect2: ld returned 1 exit status

Yes, you need a "newer" MinGW with CryptSignAndEncodeCertificate and hlink 
library support.

Stefan (Leichter), Hans (Leidekker) and myself keep a mutual set of win32api 
patches up-to-date (this is mostly their work, not mine!).  So, I have some 
patches that add support for these functions 

For historical reasons, I roll my own MinGW rather than use Hans' RPMs.  Hmm, 
I need to release the MinGW-build script and the set of patches (I can send 
you them if you like :) but in the mean time perhaps you could ask Hans to 
check his RPMs :-)

On Wednesday 27 December 2006 19:23, Paul Vriens wrote:
> When I look at the output on
> I somehow have the
> feeling that you've modified the makefiles?

I used to apply some patches on-the-fly, but don't any more.  I use straight source-code now.

> In you're (failing) logs I see 'i686-mingw32msvc-windres -i winetest.res
> -o winetest.res.o' whereas mine show 'false -i winetest.res -o
> winetest.res.o'.

Ah!  "false" (as an executable) usually indicates that the configure script 
failed to find some executable.  Here, it looks like it failed to find the 
windres executable.  You should track down why this is happening.

> So for some strange (?) reason you have WINDRES=i686-mingw32msvc-windres
> in you're Makefile whereas my Makefile shows 'WINDRES=false'.
> ./configure in the wine root shows that WINDRES is not found but
> CROSSWINDRES='i386-mingw32-windres'.
> Any idea?

Yes, it looks like the configure script can't find your MinGW windres 
executable.  You'll also need a "newer" MinGW or rather, one with a more 
complete win32api.  Once those two are fixed, you should be good to go!



-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url :

More information about the wine-devel mailing list