I have updated and added new steps (Step 5) that correctly install the needed pthread libraries for Windows users of MinGW.
Rust now correctly compiles Stage0, Stage1, Stage2 out of the box following the updated guide here: https://github.com/mozilla/rust/wiki/Note-getting-started-developing-Rust The new package details for the pthread libraries provided from 'mingw-get show' , for those interested are below: Package: mingw32-libpthread-old Subsystem: mingw32 Components: dll POSIX threading library for Win32 --------------------------------- pthreads-w32 seeks to provide a freely available and high-quality implementation of pthreads for Windows. Pthreads is an API for writing multithreaded applications following the POSIX standard. The mingw32-libpthread-old package provides the MinGW pthreads-w32 runtime dll associated with MinGW GCC 4.5.2 and older. Due to an unfortunate naming choice, upgrading to newer GCC will also install the newer, renamed pthreads-w32 DLLs, removing the old DLL. While the may not affect the new GCC, threaded applications compiled using the older compiler will break, as they will miss this runtime library. Therefore, the old runtime library is provided here using a new package name: mingw32-libpthread-old, so that it can be (re)installed parallel to the new pthreads-w32 runtime libraries. Package: mingw32-libpthreadgc Subsystem: mingw32 Components: dll POSIX threading library for Win32 --------------------------------- pthreads-w32 seeks to provide a freely available and high-quality implementation of pthreads for Windows. Pthreads is an API for writing multithreaded applications following the POSIX standard. There are two mingw32 versions of the pthread-w32 runtime library: the standard one, provided by this package, is called libpthreadgc but may also be referred to as 'libpthread'. The non-standard one uses C++ exception handling, and is called libpthreadgce. (Note that the standard library may be used successfully with C++ code; indeed, on most *nix platorms the system pthreads implementation follows the behavior of mingw32-libpthreadgc, and NOT the behavior of the 'GCE' version). We recommend that most users rely on mingw32-libpthreadgc ('GC') and not mingw32-libpthreadgce ('GCE'). The mingw32-libpthreadgc and mingw32-libpthreadgce packages provide the two runtime libraries (most people need not install the 'GCE' one). The associated mingw32-pthreads-w32 package provides the documentation for the pthreads-w32 library, as well as the related development files. The mingw32-libquserex package provides optional support for enhanced standards conformance of the GCE runtime. mingw32-libpthreadgc is a required component of the MinGW Compiler Suite. -- -Thad Thad on Freebase.com <http://www.freebase.com/view/en/thad_guidry> Thad on LinkedIn <http://www.linkedin.com/in/thadguidry/>
_______________________________________________ Rust-dev mailing list Rust-dev@mozilla.org https://mail.mozilla.org/listinfo/rust-dev