Thanks Thad!

It feels to me that Windows dev setup is getting overly complicated.  Is
there still any reason not to upgrade to GCC 4.7?   This would remove the
need to do all that dance with component downgrades.  BTW, this also
affects users of official Rust releases
(#8598<https://github.com/mozilla/rust/issues/8598>
).

I don't think build bot environment upgrades can be done via a PR, so we'll
need help from someone on the core Rust team.   Also, a new stage0 compiler
snapshot will need to be cranked out because of
#5878<https://github.com/mozilla/rust/issues/5878>
.

Vadim



On Thu, Sep 12, 2013 at 9:06 AM, Thad Guidry <thadgui...@gmail.com> wrote:

> 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
>
>
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to