The error is due to abi change of win32 gcc. reported here: https://github.com/mozilla/rust/issues/9205
On Sat, Sep 14, 2013 at 4:52 PM, klutzy <klutzytheklu...@gmail.com> wrote: > I've finished `make` on gcc 4.8.1, but `make check-fast` failed: > > task <unnamed> failed at 'assertion failed: `(left == right) && > (right == left)` > (left: `t_317::TwoU64s{one: 98784247808u64, two: 257698037760u64}`, > right: `t_317::TwoU64s{one: 22u64, two: 94489280535u64}`)', > C:\home\stone\rust-vanilla\src\test\run-pass\extern-pass-TwoU64s-ref.rs:27 > make: *** > [i686-pc-mingw32/test/run_pass_stage2_driver-i686-pc-mingw32.out] > Error 101 > > I previously met this when I tested on mingw-w64/32bit. > (https://github.com/mozilla/rust/issues/8996) > Seems like the failure is related to recent gcc. > > > On Sat, Sep 14, 2013 at 3:35 PM, klutzy <klutzytheklu...@gmail.com> wrote: >> some more explanation: >> >> #include <fenv.h> causes /lib/gcc/mingw32/<ver>/include/c++/fenv.h to >> be included. >> The header contains: >> >> #include <bits/c++config.h> >> #if _GLIBCXX_HAVE_FENV_H >> # include_next <fenv.h> >> #endif >> >> where bits/c++config.h is at /lib/gcc/mingw32/<ver>/include/c++/mingw32. >> However, for some reason (I don't know), they removed `#define >> _GLIBCXX_HAVE_FENV_H 1` somewhere between 4.6.2 and 4.8.1. >> so `#include_next <fenv.h>` does not occur, which is >> `/include/fenv.h`. It contains some definitions e.g. `FE_ALL_EXCEPT`. >> >> On Sat, Sep 14, 2013 at 3:25 PM, klutzy <klutzytheklu...@gmail.com> wrote: >>> I've solved it some minutes ago :) >>> >>> <klutzy> at >>> /path/to/mingw/lib/gcc/mingw32/<ver>/include/c++/mingw32/bits/c++config.h: >>> <klutzy> there is #define _GLIBCXX_HAVE_FENV_H 1 in 4.6.1's header >>> <klutzy> but there isn't [such #define] in 4.8.1 header. >>> <klutzy> this causes /include/fenv.h not included when llvm does >>> #include <fenv.h> >>> >>> The c++config.h has such lines: >>> /* Define to 1 if you have the <fenv.h> header file. */ >>> /* #undef _GLIBCXX_HAVE_FENV_H */ >>> >>> I added `#define _GLIBCXX_HAVE_FENV_H 1` at the file directly, and it >>> works. We can't recommend users to do this hack though. >>> >>> >>> >>> On Sat, Sep 14, 2013 at 3:21 PM, Vadim <vadi...@gmail.com> wrote: >>>> Yes, but we can't check this into Rust repo. Maybe it can be worked around >>>> by -DWSAPOLLFD somewhere in makefiles... >>>> >>>> And just as a heads-up, these seems to be another problem,- with LLVM: >>>> http://sourceforge.net/p/mingw/bugs/2043/ >>>> >>>> Vadim >>>> >>>> On Sep 13, 2013, at 9:16 PM, klutzy k <klutzytheklu...@gmail.com> wrote: >>>> >>>> Mingw added new winapi at mswsock.h: >>>> >>>> #if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) >>>> int WSAAPI WSAPoll(WSAPOLLFD, ULONG, INT); >>>> >>>> #endif >>>> >>>> but they forgot to add definition of WSAPOLLFD. >>>> >>>> Someone submitted patch at http://sourceforge.net/p/mingw/bugs/1980/ >>>> but seems like it's not on mainstream. >>>> >>>> Anyway, we (including libuv) don't use the api. Removing the codeblock >>>> helps >>>> us. >>>> >>>> On Fri, Sep 13, 2013 at 3:19 PM, Vadim <vadi...@gmail.com> wrote: >>>> >>>> Hmm. Looks like mingw released a new version with gcc 4.8 and that somehow >>>> >>>> broke mswsock.h (though the file didn't change). >>>> >>>> >>>> >>>> >>>> On Thu, Sep 12, 2013 at 6:56 PM, Thad Guidry <thadgui...@gmail.com> wrote: >>>> >>>> >>>> Doesn't work... >>>> >>>> >>>> Errors regarding libuv and mswsock... >>>> >>>> >>>> http://pastebin.mozilla.org/3038909 >>>> >>>> >>>> >>>> >>>> On Thu, Sep 12, 2013 at 5:06 PM, Vadim <vadi...@gmail.com> wrote: >>>> >>>> >>>> Hi Brian, >>>> >>>> >>>> Actually, I would argue that these changes *should* be made before 0.8 >>>> >>>> release in order to smoothen the path of people who will install 0.8 to try >>>> >>>> it out. >>>> >>>> >>>> Regarding the work to be done, as far as I know all you need is: >>>> >>>> 1. Save libgcc_s_dw2-1.dll and libstdc++-6.dll from %mingw%\bin >>>> >>>> 2. "mingw-get update" >>>> >>>> 3. "mingw-get upgrade" >>>> >>>> 4. run %rust%\configure (not sure if actually needed, but won't hurt) >>>> >>>> 5. "make clean" >>>> >>>> 6. "make check", which will fail at building stage1 std crate because >>>> >>>> step 3 upgraded libgcc and libstdc++ and stage0 compiler needs them. >>>> >>>> 7. copy dlls saved in step 1 into %rust%\build\i686-pc-mingw32\stage0\bin >>>> >>>> 8. "make check" again, which should succeed this time >>>> >>>> >>>> Can somebody please verify that this works? >>>> >>>> >>>> >>>> Re mingw-w64: sort of works, however its' phtreads implementation seems >>>> >>>> to be buggy. Also see this thread. I don't think we'll should migrate to >>>> >>>> it just yet. >>>> >>>> >>>> Vadim >>>> >>>> >>>> >>>> >>>> On Thu, Sep 12, 2013 at 2:10 PM, Brian Anderson <bander...@mozilla.com> >>>> >>>> wrote: >>>> >>>> >>>> On 09/12/2013 12:39 PM, Thad Guidry wrote: >>>> >>>> >>>> Yeah, there should not be a reason anymore, if I am correct, to not have >>>> >>>> GCC 4.7 in MinGW for Rust Windows users anymore. I will give that a try >>>> >>>> also , and if it works, then we can close out (#8598). (I also would like >>>> >>>> to get rid of the 4.5 downgrade needed).... but that does need more testing >>>> >>>> from the core Rust team and others. >>>> >>>> >>>> It's something that Brian has been counting on me to help make happen, >>>> >>>> and Alex is also contributing to some of that effort by fixing various LLVM >>>> >>>> build issues that affect Windows Rust users as you mention in (#8598). >>>> >>>> >>>> Agreed, if a new stage0 compiler snapshot can be created, then we should >>>> >>>> be in the clear to also close out #5878. >>>> >>>> >>>> >>>> >>>> Thanks for everybody's amazing contributions to our Windows support. If >>>> >>>> somebody makes the changes necessary to work with a newer toolchain then we >>>> >>>> will upgrade the bots. It's unlikely we can do this before 0.8 though, due >>>> >>>> in two weeks. >>>> >>>> >>>> I gather that some folks would like to switch to the mingw-w64 toolchain >>>> >>>> as well. Is that in the cards here? >>>> >>>> >>>> _______________________________________________ >>>> >>>> Rust-dev mailing list >>>> >>>> Rust-dev@mozilla.org >>>> >>>> https://mail.mozilla.org/listinfo/rust-dev >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> >>>> Rust-dev mailing list >>>> >>>> Rust-dev@mozilla.org >>>> >>>> https://mail.mozilla.org/listinfo/rust-dev >>>> >>>> >>>> >>>> >>>> >>>> -- >>>> >>>> -Thad >>>> >>>> Thad on Freebase.com >>>> >>>> Thad on LinkedIn >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> >>>> Rust-dev mailing list >>>> >>>> Rust-dev@mozilla.org >>>> >>>> https://mail.mozilla.org/listinfo/rust-dev >>>> >>>> _______________________________________________ Rust-dev mailing list Rust-dev@mozilla.org https://mail.mozilla.org/listinfo/rust-dev