Thanks, Chuck

The installs you recommended got pthread.h, sched.h and libpthread_2.dll OK.  But I don't see a new semaphore.h -- do I need to install another package to get that?

The old headers are in c:/mingw/mingw32/include, while the new ones went into c:/mingw/include.  Likewise for the import lib.  Has there been a change in the official directory structure?  The mingw that came with my Qt 4.6 -- which I have not touched -- has the old arrangement, and no pthreads dll (but of course Qt wouldn't need that).

I'm still rather in the dark about mingw-get.  Is there a good human-readable list of the MinGW packages and what they contain?  And what are the preconditions for using it to update Msys?

BTW I ran into a nasty little problem with gcc 4.5, sys/types.h and sched.h when building FFmpeg.  sched.h is one of many bits of useful code that use old not_prefixed_with_underscore names for common system and C lib items.  FFmpeg's build scripts pass --std=c99 to gcc, which now causes it to automatically #define _NO_OLDNAMES, which prevents sys/types.h from defining pid_t; however sched.h assumes that including sys/types.h will always define pid_t.  It uses a fallback definition when it doesn't include sys/types.h, but does not detect the case that pid_t is undefined when it does.  My fix is to make sched.h apply the fallback whenever pid_t is undefined. 

FFmpeg really should not claim ANSI purity, it uses old names several places in libavformat; but I am not about to mess with an autoconf script.

Regards, Tom

On Wed, Sep 15, 2010 at 1:47 AM, Charles Wilson <> wrote:
On 9/15/2010 1:14 AM, Thomas Sharpless wrote:
> My MinGW (recently updated with mingw-get to gcc 4.5)  has headers and an
> export library for the pthread POSIX threading library, but no
> pthreadGC2.dll.  I finally found it at the ftp site; but why
> was it not in the MinGW distribution?

MinGW gcc-4.5.0 ships with "libpthread-2.dll", not pthreadGC2.dll.  The
headers are the same.  If you have an import library for the latter,
then it is a leftover from an earlier version of MinGW gcc; the current
pthread import lib specifies libpthread-2.dll:

dlltool --identify libpthread.dll.a
libpthread-2.dll looks like the mingw32-pthreads-w32-dev is not installed by
mingw32-gcc4.  I think that's a mistake; it should be installed


mingw-get install mingw32-pthreads-w32-dev
mingw-get install mingw32-libpthread-dll    <<< this IS installed by


Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
MinGW-users mailing list

This list observes the Etiquette found at
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

You may change your MinGW Account Options or unsubscribe at: