Bug 599227
Summary: | mingw <pthread.h> is broken | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Eric Blake <eblake> |
Component: | mingw32-pthreads | Assignee: | Kalev Lember <kalevlember> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | low | ||
Version: | rawhide | CC: | berrange, drizt72, erik-fedora, fedora-mingw, kalevlember, lfarkas, rjones, rohara |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | mingw32-pthreads-2.8.0-15.20110511cvs.fc16 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2011-05-12 17:18:33 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Eric Blake
2010-06-02 21:40:19 UTC
I recently came across this bug when trying to compile libcheck under mingw32, which choked on the localtime_r problem described in comment #1. Do you happen to know if these issues have been resolved upstream already? There has been activity in upstreams CVS repo to add support for mingw-w64 and possibly other fixes. See http://sourceforge.net/apps/trac/mingw-w64/wiki/Compile%20pthreads for details. On that link there also are patches to fix the config.h issue which you mentioned. For the new cross compiler framework which I mentioned in your other bugreport (bug 599567) I have those patches already applied. If you want to test this new version of mingw32-pthreads you can use the testing repository for the new cross compiler framework. Details for that can be found at https://fedoraproject.org/wiki/MinGW/CrossCompilerFramework (In reply to comment #0) [snip] > Finally, the pthreads-win32 library made the mistake > of installing <config.h>, which is asking for namespace collision with most > other autotooled packages. > > Expected results: [snip] > Also, the library should not install <config.h>, but should > instead modify its installed headers to be self-contained. I gave a stab at fixing the config.h issue. In rawhide pthreads.h no longer includes config.h and both config.h and its other private headers are no longer installed. The fix is in mingw32-pthreads-2.8.0-14.fc16 http://pkgs.fedoraproject.org/gitweb/?p=mingw32-pthreads.git;a=blobdiff;f=mingw32-pthreads.spec;h=4b7aaff11c12bb7df614ea7f4d2a0af35aa66d76;hp=e6dbf82ceefe2a5b5ea4ca9164a1be94ae046c56;hb=7b7cbed7d5e5a0ec8c68a42e280e8bc74d01a734;hpb=dc57f4600486bd31e906493e4dcec1396d33e5a0 It would also appear that in CVS HEAD localtime_r and other *_r definitions are gone from pthreads.h; perhaps we should consider packaging up a snapshot. Anyone interested in talking to upstream and asking when they are going to make a new release? After some discussion with Kalev on IRC I think it's a good idea to update the mingw32-pthreads package in Fedora to the latest CVS version. That way we should also be ready with a compatible version for when mingw-w64 will be introduced in Fedora 16 I just built mingw32-pthreads-2.8.0-15.20110511cvs.fc16 for rawhide, which should fix both the config.h issue by removing the header, and also remove the possibly conflicting localtime_r definition. I did some basic testing, but it would be very awesome if someone else could try it with a real world test case. Closing the ticket. |