Comparison of Win-Builds and WSYS2 on MinGW_w64

http://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/[email protected]/

Hi,

I am the main developer of Win-builds.

NB 1: I slept 4 hours
NB 2: I‘ll be away from keyboard, maybe for 24 hours

On Fri, May 29, 2015, Prasanna V. Loganathar wrote:
> Hi,
>
> I had been using the builds as a part of MSYS2 for a while now, and I
> believe this is the most robust and easiest way to install mingw-w64. Also,
> due to the inherent nature of the system, it also provides the most
> up-to-date builds on par with the Linux builds.
>
> The build I see on winbuilds is actually older than the one on MSYS2. I‘m
> just wondering if it would be in the best interests of the entire community
> that MSYS2 be promoted as the preferred build from the website instead of
> winbuilds. While win-builds seem to provide a GUI and switchable toolchain,
> MSYS2 just feels a lot more robust with, especially pacman. Pacman
> integration at its crux, seems to be the most brilliant package management
> strategy for windows, so far.
> 

First of all, talking only about gcc, mingw-w64 and binutils is very
restrictive. All the builds have much more than that.

It‘s fairly common to hear that toolchain X is older than toolchain Y.
But first of all, does this even matter? Is there a bug with the GCC 4.8
branch? Or with mingw-w64 3.x? Or something else?
If so, it should be fixed upstream and backported to the
currently-supported releases. As far as I can tell, things work fairly
well that way in practice.

MSYS2 is a rolling-release distribution. It will most certainly be more
up-to-date that win-builds but that‘s by design: both from msys2 and
win-builds.
Win-builds has full releases which are maintained. This means two
things: once you start using one version, you don‘t get major software
updates all of the time and can therefore get security and stability
updates for a while without having to update between major software
releases. The drawback is that updates are filtered and the larger they
are, the less likely they are to be applied.

When the currently-visible version of win-builds was made, GCC 4.9 was
already available. It was a deliberate decision to /not/ use it because
at that time, while not providing anything new that was usable, it had
serious stability issues.

By the way, GCC 5 does not have the same ABI as GCC 4.x for C++.
Therefore every C++ code will need a rebuild. It‘s a major change and
not necessarily something you want to see happen while you‘re
developing your code.

The wish for more updates has been acknowledged in win-builds: there is
now a "next" repository which is the current development status. It
should be at least as stable as what can be obtained through msys2 but
it‘s not a win-builds release with a version: it‘s the in-progress repo.

> By the looks of the websites, I believe I can assume that the maintainers of
> winbuilds and mingw-w64 are the same or perhaps at the least linked.

As I said, I am the main maintainer of win-builds. I am also the main
maintainer of the website but it‘s been free for many many people to
edit for quite some time (and even more now that it‘s actually a wiki).

For the little story, for the look part: I migrated win-builds.org from
self-made html/php to dokuwiki fairly quickly, got positive feedback
except for the theme which looked too much like a wiki, found another
one which pleased pretty much everyone.
Then I tried to make yet another minor update to the old website and
that was really too much suffering. Considering dokuwiki had been very
easy to set up a few weeks earlier for win-builds.org, I made a
proof-of-concept port for the website. Ate my week-end but worked.
Waited a bit to get some feedback and then switched the websites.

> But I
> would very much like to think that it would be better to focus the efforts
> on one if so, and perhaps may be even implement winbuilds over msys2‘s
> excellent convergence work. But until then, I think it may make a lot more
> sense to converge with MSYS2 for official sources, rather than use the
> winbuilds system. Windows GCC (MinGW) builds of libraries have historically
> been a pain, because of the numerous different possible configuration the
> default build could have had, and due to the nature of the various sources,
> and none to be so-called "official" (or at-least a de-facto standard).
> Having winbuilds, and MSYS2 could again promote such problems, while
> converging them could very easily become the de-facto standard.

Win-builds has other differences compared to msys2. One of them is that
it‘s pretty much platform-agnostic. It started as a cross-compilation
years ago (way way earlier than msys2) and the fact that it has a
toolchain that runs on windows is a very small part of the whole
project.

Win-builds supports very well the scenario where you build from a sane
operating system (say Linux) and want to have windows binaries: it makes
it easy to build on your preferred system and deploy on Windows. The
build times are also much shorter that way. It has been thought as a way
to simplify the build of free software for Windows and therefore improve
the quality of Windows support in free software while also requiring less
time.

It is also going to support Mac OS X and *BSD systems soon. Actually it
should already pretty much work and if Apple wasn‘t the crap company it
is (want to test your software on their operating system? buy expensive
hardware from them), it would already be finished.

Even on Windows it comes with very few strings attached. I‘ve tested
with several IDEs and was able to setup everything easily. The only two
exceptions were Codelite (the issue really looked like a bug in
codelite) and iirc Netbeans (it required an msys-style installation:
posix makefiles and shell).

What bothers me with the MSYS2 crowd on this mailing-list is their bias.
It‘s a very natural one and I‘m not blaming anyone at all. My point is
that I could say that Linux is the OS on which people build and use
mingw-w64, and most here would probably agree. However the reality is
that this mailing-list and the people directly involved in the project
are not at all representative of the users. We‘re not even the 1%, we‘re
closer to the 0.1%.

Half of the proponents of msys2 seem to have used Arch Linux first. I
doubt this is representative of the actual users. Most probably use IDEs
and would never want to abandon them. Requiring command-line, even for
short amounts of time, is the same story.
(by the way: please don‘t think about masquerading anything with an
msys-style behaviour as a typical windows executable, it‘d be a
dis-service to users who would probably get difficult-to-understand
bugs)

Long mail already so I‘ll try to summarize without forgetting too many
things:
- platform support is different and support for compiling on windows is
  a minor and natural cost (deploying GCC‘s .dll files was the first
  reason)
- the vast majority of people does not want to deal with something
  command-line and/or posix/linux
- I‘m not saying msys2 is bad
- approach to packaging, distribution and maintenance are different;
  doesn‘t make one better but for sure, there are people to prefer each
  one over the other

Regards,
Adrien Nader
http://win-builds.org
时间: 2024-09-28 18:51:28

Comparison of Win-Builds and WSYS2 on MinGW_w64的相关文章

hdu 5099 Comparison of Android versions

Comparison of Android versions Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1175    Accepted Submission(s): 472 Problem Description As an Android developer, itˇs really not easy to figure ou

HDU 5099 Comparison of Android versions(坑水题)

C - Comparison of Android versions HDU 5099 Time Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %I64d , %I64u Java class name: Main [Submit] [Status] Description As an Android developer, itˇs really not easy to figure out a newer ver

HDU 5099 Comparison of Android versions(字符串)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5099 Problem Description As an Android developer, itˇs really not easy to figure out a newer version of two kernels, because Android is updated so frequently and has many branches. Fortunately, Google id

win下编译ffmpeg库,Compile and build ffmpeg library and dll on Windows x64( 正版)

转载请注明:来自EricKing,thanks 从没想到编一个library这么坑爹,再次提醒各位百度的东西只能参考,想节约时间还是要到官网上去查看docum.不废话了,开始详细过程: ——>1.搭建Win下的GCC编译环境(因为win下vs不支持ffmpeg的compile 和build,官网上也有说这一点) ——>2.下载latest ffmpeg source(后面附官网地址),想办法将编译后的文件做成dll,这是win下编程调试的核心 (这里就用到vs下的一个vc的bash文件叫vcv

HDOJ 5099 Comparison of Android versions 坑题

现场赛的时候错了十四次. . ... Comparison of Android versions Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 76    Accepted Submission(s): 60 Problem Description As an Android developer, itˇs really not e

Comparison of Android versions(strcmp的应用)

Description As an Android developer, itˇs really not easy to figure out a newer version of two kernels, because Android is updated so frequently and has many branches. Fortunately, Google identifies individual builds with a short build code, e.g. FRF

Alpine makes Python Docker builds 50× slower, and images 2× larger

转自:https://pythonspeed.com/articles/alpine-docker-python by Itamar Turner-TrauringLast updated 29 Jan 2020, originally created 29 Jan 2020 When you’re choosing a base image for your Docker image, Alpine Linux is often recommended. Using Alpine, you’r

关于win下Memcached安装步骤

2天对我来说有点煎熬..数据量达到17w的时候 我本地执行查询速度特别慢! 请教了一些php大牛如何解决速度问题,在加了索引和优化sql后还是速度慢!我决定在win环境下用Memcached和memcache 来处理,先声明一下: memcache是php的拓展,memcached是客户端,复杂的说:Memcache模块提供了于memcached方便的面向过程及面向对象的接口,memcached是为了降低动态web应用 从数据库加载数据而产生的一种常驻进程缓存产品. 因为我本地用的是xampp集

Csharp: speech to text, text to speech in win

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86