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)
> mingw-libvirt-1.1.1-1
> Package owner: berrange
> Time to build: 6 minutes, 39 seconds
> Build logs:
http://build1.vanpienbroek.nl/fedora-mingw-rebuild/20130829/mingw-libvirt...
Also caused by winpthreads:
CCLD libvirt.la
./.libs/libvirt_driver_remote.a(libvirt_net_rpc_client_la-virnetclient.o): In function
`virNetClientIOEventLoop':
/builddir/build/BUILD/libvirt-1.1.1/build_win32/src/../../src/rpc/virnetclient.c:1517:
undefined reference to `pthread_sigmask'
/builddir/build/BUILD/libvirt-1.1.1/build_win32/src/../../src/rpc/virnetclient.c:1524:
undefined reference to `pthread_sigmask'
/builddir/build/BUILD/libvirt-1.1.1/build_win32/src/../../src/rpc/virnetclient.c:1524:
undefined reference to `pthread_sigmask'
./.libs/libvirt_driver_remote.a(libvirt_net_rpc_client_la-virnetclient.o): In function
`virNetClientSetTLSSession':
/builddir/build/BUILD/libvirt-1.1.1/build_win32/src/../../src/rpc/virnetclient.c:785:
undefined reference to `pthread_sigmask'
/builddir/build/BUILD/libvirt-1.1.1/build_win32/src/../../src/rpc/virnetclient.c:792:
undefined reference to `pthread_sigmask'
./.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_*,
and use native threading instead (at least we wanted to explicitly avoid
the old pthreads-w32, and since we already have native thread support,
we might as well use it instead of dragging in winpthreads). Probably a
case of our configure checks not detecting the right situation once
winpthreads are turned on. I'll see if we can get this fixed up for
libvirt 1.1.2 (due real soon now), or if it will have to wait for 1.1.3
(a month out, but probably still in time to make it into F20). Is there
an easy environment to set up (such as rawhide + a repo) for testing a
mingw cross-build with winpthreads?
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org