Mass rebuild report for August 29 2013

Erik van Pienbroek erik at vanpienbroek.nl
Thu Aug 29 20:37:15 UTC 2013


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)
> 
> 
> > 
> >> 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-1.1.1-1
> > 
> > 
> > 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?

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


Regards,

Erik



More information about the mingw mailing list