On 08/29/2013 02:37 PM, Erik van Pienbroek wrote:
Eric Blake schreef op do 29-08-2013 om 14:07 [-0600]:
> On 08/29/2013 11:38 AM, Erik van Pienbroek wrote:
>
>>
>> This mass rebuild was done using winpthreads instead of the old
>> pthreads-w32 implementation. In Fedora itself winpthreads isn't
>> used by default yet, but it will be introduced in Fedora 20 once
>> all build failures which are caused by it are resolved (if this
>> takes too long the introduction of winpthreads in Fedora will
>> have to be postponed until Fedora 21 which is scheduled for
>> release in Q2 2014). The gcc package is still being built without
>> --enable-threads=posix (thus support for C++11 std::thread
>> is not enabled yet)
>
>>
./.libs/libvirt_driver_remote.a(libvirt_net_rpc_client_la-virnetclient.o):/builddir/build/BUILD/libvirt-1.1.1/build_win32/src/../../src/rpc/virnetclient.c:809:
more undefined references to `pthread_sigmask' follow
>> collect2: error: ld returned 1 exit status
>
> Hmm. The libvirt build for mingw explicitly wants to avoid pthread_*,
Hi Eric,
Some time ago I filed
https://bugzilla.redhat.com/show_bug.cgi?id=969231
against the Fedora mingw-libvirt package for this issue. According to
Daniel Berrange winpthreads isn't following the POSIX specifications as
the symbol pthread_sigmask should be mentioned in signal.h while for
winpthreads this symbol is currently only mentioned in pthread.h.
Setting up an environment with Fedora MinGW + winpthreads requires some
preparation (as I don't want to pollute rawhide yet). A recent rawhide
environment should be enough as starting point. I just created some
scratch builds which you can install directly with 'yum localinstall' to
have a winpthreads-based mingw environment:
http://koji.fedoraproject.org/koji/taskinfo?taskID=5871269
http://koji.fedoraproject.org/koji/taskinfo?taskID=5871279
I've played with these in my rawhide VM (and fixed several other libvirt
bugs in the meantime, so the time was not wasted :). I was unable to
reproduce this particular failure, which may mean that the latest
winpthreads has indeed fixed the issue. At any rate, I was pleased to
note this in today's mass rebuild notice:
mingw-libvirt-1.1.2-1
** Package built successfully while it failed during the previous mass
rebuild **
Time to build: 12 minutes, 1 second
So at this point, I'll quit worrying further about the issue, and hope
that your conversion to winpthreads goes successfully with the current
state of libvirt.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org