Re: Mingw 64 bit build

Stephen Leake <[email protected]>
Newsgroups gmane.comp.version-control.monotone.devel
Message-ID <[email protected]>
Markus Wanner <[email protected]> writes:

> I understand your point of view and appreciate your efforts. Please
> continue to maintain the msys2 documentation.

Ok, thanks.

> I'm not quite satisfied with the general guide for Windows, though, so
> please allow me to write something. I think that may well fit into
> INSTALL itself.

Ok.

> Do you have any useful hints for what build system to choose for
> Windows? I mean Cygwin vs the others is somewhat obvious - either you
> want that POSIX emulation layer or you don't. 

Right.

> But all of the MinGW versions confuse me a lot. Why did you choose
> MinGW64 over MinGW-w64 (!) [0], for example? 

There are a lot of ways to use MinGW64; it is confusing.

I did not try them all; I only tried downloading from the MinGW64 site,
and the Msys2 site.

I went with Msys2 because it has a good package manager, an almost
complete set of packages for monotone (only Botan needed to be compiled
from source), can run autotools and configure, and a helpful email list.

> What about the different C++ exception and threading models? Which one
> did you (or mingw/msys2) use? 

It was chosen by Msys2 when they packaged MinGW64; I don't know which
they picked. It should be possible to find out from the Msys2 project.
But at this point, I also don't care :).

> What effect do these options possibly have on monotone? 

No idea, except it's pretty minor. We use exceptions for error handling,
not for mainline processing.

> Let alone the issue of cross-compiling 32-bit binaries from a 64-bit
> system & tool chain. 

The tool chain installed in msys2/mingw32 is a 32 bit toolchain.

At the moment, it Just Works, so I'm happy.

> (And vice versa?) And then there is also MSVC...

I've never installed MSVC; I see no reason to. But apparently some
people do: more power to them.

> Of course, we cannot ever test all possible combinations. We don't do
> that on any Unix, either. But rather than listing just one or two very
> specific combinations, we can still state the options, their
> requirements, what's known to work or fail (for example the issue you
> faced with gcc 4.6.2).

I prefer to just list the one known working config; that's hard enough.
No one has ever asked for anything more (until you, now).

> FWIW, I also plan to keep my buildbot on msys 1.0, for now. While I
> don't intend to maintain the INSTALL_windows_mingw.txt document to the
> level of detail you used to do it, I'd still like to keep something in
> there that clarifies that MinGW / Msys 1.0 is known to work. Dropping
> the file, as you suggested, would lose that knowledge.

It didn't work for me, so "known to work" is not true, I think. It would
be best if more than one person was able to follow the install script
and succeed.

By that standard, msys2 isn't "known to work", either :(.

Cygwin also didn't work for me. 

Sometimes it's just that no two Windows boxes are ever the same; it is
frustrating.

> I'll eventually write up something.

Ok.

-- 
-- Stephe
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.