Boost logo

Boost :

Subject: Re: [boost] [build] bootstrap.sh is still broken
From: Edward Diener (eldiener_at_[hidden])
Date: 2013-10-21 21:23:20


On 10/21/2013 9:02 PM, Niall Douglas wrote:
> On 21 Oct 2013 at 20:45, Edward Diener wrote:
>
>>> Be aware that I found any Mingw after the one based on GCC 4.6.4 is
>>> broken with Boost in various unhelpful ways (e.g. generating
>>> assembler ops its assembler won't accept). In fact, of course, Mingw
>>> with GCC 4.6 was also broken (e.g. <atomic> does not implement
>>> actually atomic operations), but it had been around long enough
>>> people had patched for it.
>>
>> Do you know Which Boost libraries are broken with MingW using gcc 4.6.4
>> on up ?
>
> Mingw with GCC 4.6.4 works okay. It's what my Jenkins CI uses for
> Mingw pre-commit testing.

I don't see a gcc 4.6.4 on the MingW sourcforge site (
https://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/ ).
There is a 4.7.0-1 and 4.7.2-1 there, which I have used.
>
>> I have tested some of my own things on trunk with MingW and gcc-4.7.0
>> and gcc.4.7.2 and they are testing OK, so I want to understand what
>> Boost code is broken.
>
> I'm sure things will be different for different people, but there was
> certainly a GCC 4.7.x based Mingw that forgot to feed -march=i486 to
> its assembler, so if you did anything needing atomic instructions it
> barfed.

Is there any Boost library tests of which you know that displays this
problem ?

>
> I also found a showstopping ICE with my code on a GCC 4.8.x based
> Mingw which kinda ruled it out for me. I went back to the GCC 4.6.4
> based Mingw. It's reliable.

You should really report anything broken in MingW to their bug tracker
or mention it in their mailing list. It's possible that the versions on
sourceforge have already fixed the problem(s) you have seen. It's also
important that users of Boost and MingW understand what may be broken
using their particular release.

>
>>> Mingw-w64 is absolutely fine though, and I very strongly recommend
>>> its use over traditional Mingw. Mingw-w64 was so trouble free that it
>>> just worked for me first time, which was quite a novel experience.
>>
>> I will try this out also. Thanks !
>
> My only complaint with Mingw-w64 (I used the GCC 4.8 based version)
> is that it dislikes the MSVC idiom of using {0} or {sizeof(struct)}
> to zero initialise structures. It still compiles them, but it warns
> and you get a ton of those warnings. You could disable just that
> warning, but if I remember there are instances where you really do
> want to see that warning. That said, they'd get lost in the noise on
> Mingw. Other than that, my experience was good.

Does the Boost Build gcc toolset on Windows work correctly with
Mingw-w64 ? I have not had any problems with it using MingW itself with
Boost Build and don't want to commit to testing against it unless Boost
Build works with it.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk