Boost C++ Libraries: Ticket #4849: MinGW-64: detail/interlocked.hpp chooses wrong prototypes for InterlockedCompareExchange et al https://svn.boost.org/trac10/ticket/4849 <p> I see pdimov's name on detail/interlocked.hpp, so I'm filing this here... </p> <p> MinGW-64/Win7 fails to compile thread.cpp, so all dependent regressions fail. </p> <pre class="wiki">In file included from ../boost/thread/once.hpp:14, from ..\libs\thread\src\win32\thread.cpp:17: ../boost/thread/win32/once.hpp: In function 'void boost::call_once(boost::once_flag&amp;, Function)': ../boost/thread/win32/once.hpp:136: error: '_InterlockedCompareExchange' is not a member of 'boost::detail' ../boost/thread/win32/once.hpp:152: error: '_InterlockedIncrement' is not a member of 'boost::detail' ../boost/thread/win32/once.hpp:155: error: '_InterlockedExchange' is not a member of 'boost::detail' ../boost/thread/win32/once.hpp:169: error: '_InterlockedExchange' is not a member of 'boost::detail' ../boost/thread/win32/once.hpp:184: error: '_InterlockedIncrement' is not a member of 'boost::detail' </pre><p> If I modify detail/interlocked.hpp to choose it as BOOST_USE_WINDOWS_H, thread.cpp builds and dependent tests pass. It seems BOOST_USE_WINDOWS_H is special-purpose, so I'm not sure if this is the final fix. </p> <pre class="wiki">#if defined( BOOST_USE_WINDOWS_H ) || defined(_WIN64) </pre><p> Presently it's choosing this section (line 107): </p> <pre class="wiki">#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ ) </pre><p> This seems somewhat similar to <a class="ext-link" href="https://svn.boost.org/trac/boost/ticket/4217"><span class="icon">​</span>Ticket #4217</a> </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/4849 Trac 1.4.3 Peter Dimov Sat, 13 Nov 2010 12:18:31 GMT <link>https://svn.boost.org/trac10/ticket/4849#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:1</guid> <description> <p> BOOST_USE_WINDOWS_H is a user macro; it causes boost headers to include &lt;windows.h&gt;, which should never happen automatically. </p> </description> <category>Ticket</category> </item> <item> <author>Sam Morris <sam@…></author> <pubDate>Wed, 01 Dec 2010 11:36:19 GMT</pubDate> <title>cc changed https://svn.boost.org/trac10/ticket/4849#comment:2 https://svn.boost.org/trac10/ticket/4849#comment:2 <ul> <li><strong>cc</strong> <span class="trac-author">sam@…</span> added </li> </ul> Ticket Peter Dimov Wed, 01 Dec 2010 14:33:42 GMT <link>https://svn.boost.org/trac10/ticket/4849#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:3</guid> <description> <p> I see that the "Win7-x64 jc-bell.com" regression tester doesn't have the issue, but this may be caused by a different version of windows.h. Either way, this is not (in my opinion) an issue with interlocked.hpp, it's caused by thread.cpp including windows.h before once.hpp. windows.h then (I assume) defines Interlocked* as macros to _Interlocked*. Putting the windows.h include last should solve the problem. </p> </description> <category>Ticket</category> </item> <item> <author>Jim Bell <jim@…></author> <pubDate>Wed, 01 Dec 2010 14:45:48 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4849#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:4</guid> <description> <p> "Win7-x64 jc-bell.com" is my platform (still experimental), and it this works because I have a fix for it. It #undef's Interlocked... stuff after #include &lt;windows.h&gt; </p> </description> <category>Ticket</category> </item> <item> <author>Jim Bell <jim@…></author> <pubDate>Wed, 01 Dec 2010 14:46:10 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/4849 https://svn.boost.org/trac10/ticket/4849 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">mingw64-thread.patch</span> </li> </ul> Ticket Jim Bell <jim@…> Wed, 01 Dec 2010 14:48:01 GMT <link>https://svn.boost.org/trac10/ticket/4849#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:5</guid> <description> <p> To clarify: the patch applies to boost/libs/thread/src/win32/thread.cpp </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Peter Dimov</dc:creator> <pubDate>Wed, 01 Dec 2010 15:01:20 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4849#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:6</guid> <description> <p> Can you please try moving the &lt;windows.h&gt; include last instead? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Wed, 01 Dec 2010 23:52:36 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4849#comment:7 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:7</guid> <description> <p> Yes. Moving #include &lt;windows.h&gt; below all other includes DOES correct the above "_Interlocked..." errors above. </p> <p> I'm attaching a patch that shows this, and also a couple other related MinGW-64 patches that might be helpful. Review it carefully. </p> </description> <category>Ticket</category> </item> <item> <author>Jim Bell <jim@…></author> <pubDate>Wed, 01 Dec 2010 23:54:35 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/4849 https://svn.boost.org/trac10/ticket/4849 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">mingw64-thread-2.patch</span> </li> </ul> Ticket Peter Dimov Fri, 03 Dec 2010 00:05:08 GMT owner, component changed https://svn.boost.org/trac10/ticket/4849#comment:8 https://svn.boost.org/trac10/ticket/4849#comment:8 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Peter Dimov</span> to <span class="trac-author">Anthony Williams</span> </li> <li><strong>component</strong> <span class="trac-field-old">smart_ptr</span> → <span class="trac-field-new">thread</span> </li> </ul> <p> I'll reassign this to Anthony for now, he can bounce it back to me later. :-) </p> Ticket anonymous Sun, 20 Mar 2011 17:18:47 GMT <link>https://svn.boost.org/trac10/ticket/4849#comment:9 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:9</guid> <description> <p> I'll just want to bump this since it wasn't fixed in the latest 1.46.1 release... if bumping is not usual in such bug-trackers I apologize for the inconvenience. ;) </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Mon, 21 Mar 2011 22:24:32 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4849#comment:10 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:10</guid> <description> <p> Same. I met the issue on my build today. What would be the next delivery in an official build ? </p> </description> <category>Ticket</category> </item> <item> <author>Jim Bell <jim@…></author> <pubDate>Mon, 21 Mar 2011 22:55:59 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4849#comment:11 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:11</guid> <description> <p> One problem is that boost doesn't have a reliable mingw64 regression test for trunk and release. Mine's experimental, trunk-only, and doesn't get run often (to say the least). So the maintainer probably isn't going to take a chance on it. </p> <p> Anyone want to run trunk and release regressions until this change gets shepherded through trunk and release branches? If so, we can at least try to get the maintainer's attention: I'll send him a polite e-mail about it. (No guarantee it'll get fixed even then.) </p> <p> Until then, look at the attached patches and patch your distribution. Hate to say it, but that's the expedient fix. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Anthony Williams</dc:creator> <pubDate>Mon, 21 Mar 2011 23:10:56 GMT</pubDate> <title>status changed https://svn.boost.org/trac10/ticket/4849#comment:12 https://svn.boost.org/trac10/ticket/4849#comment:12 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> <p> I've applied the patch to trunk (revision 70383). If it doesn't cause any problems it can be merged to release. </p> Ticket anonymous Tue, 22 Mar 2011 19:54:53 GMT <link>https://svn.boost.org/trac10/ticket/4849#comment:13 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:13</guid> <description> <p> Thank you very much for your affords :) </p> </description> <category>Ticket</category> </item> <item> <author>Vladislav <phprus@…></author> <pubDate>Fri, 17 Jun 2011 09:58:56 GMT</pubDate> <title>cc changed https://svn.boost.org/trac10/ticket/4849#comment:14 https://svn.boost.org/trac10/ticket/4849#comment:14 <ul> <li><strong>cc</strong> <span class="trac-author">phprus@…</span> added </li> </ul> <p> Tell please, this patch will get into release 1.47.0? </p> Ticket mayburn11 Tue, 21 Jun 2011 23:46:52 GMT <link>https://svn.boost.org/trac10/ticket/4849#comment:15 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:15</guid> <description> <p> i lost few days on investigate why mingw64 chokes compiling my code then i saw this </p> <p> i patched my boost release to it and it works well </p> <p> it be very nice if it can be merged to release branch </p> <p> thank you mayburn11 </p> </description> <category>Ticket</category> </item> <item> <author>Jim Bell <jim@…></author> <pubDate>Wed, 22 Jun 2011 12:25:35 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4849#comment:16 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:16</guid> <description> <p> This will be released in boost 1.47.0. See <a class="ext-link" href="http://lists.boost.org/Archives/boost/2011/06/182834.php"><span class="icon">​</span>http://lists.boost.org/Archives/boost/2011/06/182834.php</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>viboes</dc:creator> <pubDate>Wed, 07 Dec 2011 18:14:07 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/4849#comment:17 https://svn.boost.org/trac10/ticket/4849#comment:17 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> Closed as for the comments it seems this was committed in release branch. </p> Ticket mattyclarkson@… Mon, 09 Sep 2013 09:05:17 GMT <link>https://svn.boost.org/trac10/ticket/4849#comment:18 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:18</guid> <description> <p> Just hit this same issue building 1.54.0 with MinGW-builds-x64-4.8.1-posix-seh on Windows 7 x64: </p> <pre class="wiki">C:\Users\Matt\Documents\git\tool-chain\third_party\source\http\boost_1_54_0&gt;b2 t oolset=gcc variant=release link=shared threading=multi runtime-link=shared --pre fix=C:\boost-1.54.0 --with-thread -d+2 Building the Boost C++ Libraries. Component configuration: - atomic : not building - chrono : not building - context : not building - coroutine : not building - date_time : not building - exception : not building - filesystem : not building - graph : not building - graph_parallel : not building - iostreams : not building - locale : not building - log : not building - math : not building - mpi : not building - program_options : not building - python : not building - random : not building - regex : not building - serialization : not building - signals : not building - system : not building - test : not building - thread : building - timer : not building - wave : not building gcc.link.dll bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\li bboost_thread-mgw48-mt-1_54.dll.a "g++" "-Wl,--out-implib,bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\t hreading-multi\libboost_thread-mgw48-mt-1_54.dll.a" -o "bin.v2\libs\thread\build \gcc-mingw-4.8.1\release\threading-multi\libboost_thread-mgw48-mt-1_54.dll" -sh ared -Wl,--start-group "bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threadi ng-multi\win32\thread.o" "bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threa ding-multi\win32\tss_dll.o" "bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\th reading-multi\win32\tss_pe.o" "bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\ threading-multi\future.o" "bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\thre ading-multi\libboost_chrono-mgw48-mt-1_54.dll.a" "bin.v2\libs\system\build\gcc-m ingw-4.8.1\release\threading-multi\libboost_system-mgw48-mt-1_54.dll.a" -Wl,-Bs tatic -Wl,-Bdynamic -Wl,--end-group -mthreads bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x387): undefined reference to `InterlockedCompareExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x3a4): undefined reference to `InterlockedCompareExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x400): undefined reference to `InterlockedExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x47e): undefined reference to `InterlockedIncrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x494): undefined reference to `InterlockedCompareExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x781): undefined reference to `InterlockedIncrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x79c): undefined reference to `InterlockedCompareExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x9a0): undefined reference to `InterlockedCompareExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x9bd): undefined reference to `InterlockedCompareExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0xa19): undefined reference to `InterlockedExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0xa9f): undefined reference to `InterlockedIncrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0xab5): undefined reference to `InterlockedCompareExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0xee2): undefined reference to `InterlockedIncrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0xefd): undefined reference to `InterlockedCompareExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x1026): undefined reference to `InterlockedIncrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x10d9): undefined reference to `InterlockedIncrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x1159): undefined reference to `InterlockedDecrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x11e8): undefined reference to `InterlockedIncrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x1227): undefined reference to `InterlockedDecrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x1293): undefined reference to `InterlockedDecrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x1310): undefined reference to `InterlockedDecrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x13a9): undefined reference to `InterlockedDecrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x1445): undefined reference to `InterlockedDecrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x1a3d): undefined reference to `InterlockedCompareExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x1a5a): undefined reference to `InterlockedCompareExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x1ab6): undefined reference to `InterlockedExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x1b21): undefined reference to `InterlockedIncrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x1b37): undefined reference to `InterlockedCompareExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x1df1): undefined reference to `InterlockedIncrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x1e0c): undefined reference to `InterlockedCompareExchange' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x3212): undefined reference to `InterlockedDecrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x3328): undefined reference to `InterlockedDecrement' bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\win32\thread.o: thread.cpp:(.text+0x1130): undefined reference to `InterlockedIncrement' c:/users/matt/documents/git/tool-chain/third_party/mingw-builds/4.8.1/x64/posix/ seh/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw 32/bin/ld.exe: bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\ win32\thread.o: bad reloc address 0x8 in section `.data' collect2.exe: error: ld returned 1 exit status ...removing bin.v2\libs\thread\build\gcc-mingw-4.8.1\release\threading-multi\lib boost_thread-mgw48-mt-1_54.dll.a ...skipped &lt;pstage\lib&gt;libboost_thread-mgw48-mt-1_54.dll.a for lack of &lt;pbin.v2\ libs\thread\build\gcc-mingw-4.8.1\release\threading-multi&gt;libboost_thread-mgw48- mt-1_54.dll.a... ...skipped &lt;pstage\lib&gt;libboost_thread-mgw48-mt-1_54.dll for lack of &lt;pbin.v2\li bs\thread\build\gcc-mingw-4.8.1\release\threading-multi&gt;libboost_thread-mgw48-mt -1_54.dll... ...failed updating 2 targets... </pre><p> I'm trying to figure out why the macros are not set to the correct symbols, if anyone has any pointers for me, I welcome a hint :) </p> </description> <category>Ticket</category> </item> <item> <author>Jim Bell <jim@…></author> <pubDate>Mon, 09 Sep 2013 10:32:28 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4849#comment:19 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:19</guid> <description> <p> @mattyclarkson: Have you studied/applied the patches in this ticket? </p> </description> <category>Ticket</category> </item> <item> <author>Matt Clarkson <mattyclarkson@…></author> <pubDate>Mon, 09 Sep 2013 14:07:36 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4849#comment:20 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:20</guid> <description> <p> @jim: I solved this by adding define=BOOST_USE_WINDOWS_H to fix the build. That forces the inclusion of <code>windows.h</code> pulling in the correct definitions for the symbols. I went over the patches, they all seem to be in the trunk now, so was a little lost but found some more information around on Google about building Boost with MinGW x64. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>viboes</dc:creator> <pubDate>Mon, 09 Sep 2013 17:43:55 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4849#comment:21 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:21</guid> <description> <p> It seems that there is a regression on mingw 64 </p> <p> See <a class="ext-link" href="http://sourceforge.net/mailarchive/message.php?msg_id=31189847"><span class="icon">​</span>http://sourceforge.net/mailarchive/message.php?msg_id=31189847</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>bronf</dc:creator> <pubDate>Mon, 23 Sep 2013 10:23:13 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4849#comment:22 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:22</guid> <description> <p> I have eventually fixed this issue without having to define BOOST_USE_WINDOWS_H (which causes issues when compiling with wxWidgets for example). The patch (<a class="ext-link" href="https://svn.boost.org/trac/boost/attachment/ticket/4849/interlocked.diff"><span class="icon">​</span>https://svn.boost.org/trac/boost/attachment/ticket/4849/interlocked.diff</a>) works with mingw-w64 targeting both i686 and x86_64. Hope this can be included in 1.55.0. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>bronf</dc:creator> <pubDate>Mon, 23 Sep 2013 13:05:32 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/4849 https://svn.boost.org/trac10/ticket/4849 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">interlocked.diff</span> </li> </ul> Ticket Bobby Mihalca <bobbymihalca@…> Wed, 02 Oct 2013 09:59:29 GMT version, milestone changed https://svn.boost.org/trac10/ticket/4849#comment:23 https://svn.boost.org/trac10/ticket/4849#comment:23 <ul> <li><strong>version</strong> <span class="trac-field-old">Boost Development Trunk</span> → <span class="trac-field-new">Boost 1.54.0</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.46.0</span> → <span class="trac-field-new">Boost 1.55.0</span> </li> </ul> <p> Have the same problem and made a patch. It deals with mingw64 in its own #elif and undoes BOOST_INTERLOCKED_IMPORT from mingw64-thread-2.patch Tested with mingw64 4.8.1 64 and 32 bits and threads compile and work. </p> Ticket Bobby Mihalca <bobbymihalca@…> Wed, 02 Oct 2013 10:00:29 GMT attachment set https://svn.boost.org/trac10/ticket/4849 https://svn.boost.org/trac10/ticket/4849 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">mingw64_iterlocked.patch</span> </li> </ul> Ticket Peter Dimov Wed, 02 Oct 2013 10:28:48 GMT <link>https://svn.boost.org/trac10/ticket/4849#comment:24 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4849#comment:24</guid> <description> <p> This should have been fixed by revision <a class="changeset" href="https://svn.boost.org/trac10/changeset/85865" title="Fixed compilation problems with MinGW-w64.">[85865]</a>. </p> </description> <category>Ticket</category> </item> </channel> </rss>