Created attachment 304587 [details] emerge--info.txt See the attached build.log. The aggrieved line in testThreads.c is: tid[i] = (pthread_t) -1; This fails because pthreads-win32 (as a pthreads implementation is allowed, according to the POSIX documentation of pthread_equal()) declares pthread_t as a struct. From its pthread.h: typedef struct { void * p; /* Pointer to actual object */ unsigned int x; /* Extra information - reuse count etc */ } ptw32_handle_t; typedef ptw32_handle_t pthread_t; This bug has been fixed upstream already in commit d794a84a9e147498069b4c582d57b899bf068187 ( http://git.gnome.org/browse/libxml2/commit/?id=d794a84a9e147498069b4c582d57b899bf068187 ). Applying this patch, which I'll attach, fixes the compilation error for me.
Created attachment 304589 [details] build.log
Created attachment 304591 [details, diff] libxml2-2.7.8-pthreads-win32.patch
Thanks, fixed in cvs. > 08 Mar 2012; Alexandre Rostovtsev <tetromino@gentoo.org> > libxml2-2.7.8-r5.ebuild, +files/libxml2-2.7.8-windows-thread_t.patch: > Fix building against pthreads-win32 (bug #407371, thanks to Nathan Phillip > Brink (binki)).