Boost logo

Boost Users :

Subject: [Boost-users] [Thread] MinGW 4.5.1
From: Paul Mensonides (pmenso57_at_[hidden])
Date: 2010-09-09 15:27:57


I'm trying to build Boost on Windows with the 32-bit binaries supplied
by http://www.equation.com/servlet/equation.cmd?call=fortran. Aside
from about 10 billion "visibility attribute" warnings, everything
appears to compile correctly except the Thread library:

(running from a Windows command prompt)

bjam toolset=gcc link=static runtime-link=static stage

The build output that I get is below, but it looks like something is
wrong with the macro configuration when including
boost/detail/interlocked.hpp.

Any help?

-----

Performing configuration checks

     - has_icu builds : no
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
     - ../config//has_long_double_support builds : yes
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
warning: Unable to construct ./stage-unversioned
warning: Unable to construct ./stage-unversioned

Component configuration:

     - date_time : building
     - filesystem : building
     - graph : building
     - graph_parallel : building
     - iostreams : building
     - math : building
     - mpi : building
     - program_options : building
     - python : building
     - random : building
     - regex : building
     - serialization : building
     - signals : building
     - system : building
     - test : building
     - thread : building
     - wave : building

...patience...
...patience...
...patience...
...patience...
...found 7329 targets...
...updating 8 targets...
gcc.compile.c++
bin.v2\libs\thread\build\gcc-mingw-4.5.1\debug\link-static\runtime-link-static\threading-multi\win32\thread.o
In file included from ./boost/thread/once.hpp:14:0,
                  from libs\thread\src\win32\thread.cpp:17:
./boost/thread/win32/once.hpp: In function 'void
boost::call_once(boost::once_flag&, Function)':
./boost/thread/win32/once.hpp:136:20: error:
'_InterlockedCompareExchange' is not a member of 'boost::detail'
./boost/thread/win32/once.hpp:152:25: error: '_InterlockedIncrement' is
not a member of 'boost::detail'
./boost/thread/win32/once.hpp:155:21: error: '_InterlockedExchange' is
not a member of 'boost::detail'
./boost/thread/win32/once.hpp:169:21: error: '_InterlockedExchange' is
not a member of 'boost::detail'
./boost/thread/win32/once.hpp:184:17: error: '_InterlockedIncrement' is
not a member of 'boost::detail'

     "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -mthreads
-Wno-long-long -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_BUILD_LIB=1 -I"." -c
-o
"bin.v2\libs\thread\build\gcc-mingw-4.5.1\debug\link-static\runtime-link-static\threading-multi\win32\thread.o"
"libs\thread\src\win32\thread.cpp"

...failed gcc.compile.c++
bin.v2\libs\thread\build\gcc-mingw-4.5.1\debug\link-static\runtime-link-static\threading-multi\win32\thread.o...
...skipped
<pbin.v2\libs\thread\build\gcc-mingw-4.5.1\debug\link-static\runtime-link-static\threading-multi>libboost_thread-mgw45-mt-sd-1_44.a(clean)
for lack of
<pbin.v2\libs\thread\build\gcc-mingw-4.5.1\debug\link-static\runtime-link-static\threading-multi>win32\thread.o...
...skipped
<pbin.v2\libs\thread\build\gcc-mingw-4.5.1\debug\link-static\runtime-link-static\threading-multi>libboost_thread-mgw45-mt-sd-1_44.a
for lack of
<pbin.v2\libs\thread\build\gcc-mingw-4.5.1\debug\link-static\runtime-link-static\threading-multi>win32\thread.o...
...skipped <pstage\lib>libboost_thread-mgw45-mt-sd-1_44.a for lack of
<pbin.v2\libs\thread\build\gcc-mingw-4.5.1\debug\link-static\runtime-link-static\threading-multi>libboost_thread-mgw45-mt-sd-1_44.a...
gcc.compile.c++
bin.v2\libs\thread\build\gcc-mingw-4.5.1\release\link-static\runtime-link-static\threading-multi\win32\thread.o
In file included from ./boost/thread/once.hpp:14:0,
                  from libs\thread\src\win32\thread.cpp:17:
./boost/thread/win32/once.hpp: In function 'void
boost::call_once(boost::once_flag&, Function)':
./boost/thread/win32/once.hpp:136:20: error:
'_InterlockedCompareExchange' is not a member of 'boost::detail'
./boost/thread/win32/once.hpp:152:25: error: '_InterlockedIncrement' is
not a member of 'boost::detail'
./boost/thread/win32/once.hpp:155:21: error: '_InterlockedExchange' is
not a member of 'boost::detail'
./boost/thread/win32/once.hpp:169:21: error: '_InterlockedExchange' is
not a member of 'boost::detail'
./boost/thread/win32/once.hpp:184:17: error: '_InterlockedIncrement' is
not a member of 'boost::detail'
In file included from ./boost/thread/shared_mutex.hpp:14:0,
                  from ./boost/thread/detail/thread_group.hpp:9,
                  from ./boost/thread/thread.hpp:24,
                  from libs\thread\src\win32\thread.cpp:10:
./boost/thread/win32/shared_mutex.hpp: In member function 'T
boost::shared_mutex::interlocked_compare_exchange(T*, T, T) [with T =
boost::shared_mutex::state_data]':
./boost/thread/win32/shared_mutex.hpp:110:103: instantiated from here
./boost/thread/win32/shared_mutex.hpp:50:99: warning: dereferencing
type-punned pointer will break strict-aliasing rules
./boost/thread/win32/shared_mutex.hpp:50:99: warning: dereferencing
type-punned pointer will break strict-aliasing rules
./boost/thread/win32/shared_mutex.hpp:51:52: warning: dereferencing
type-punned pointer will break strict-aliasing rules
./boost/thread/win32/shared_mutex.hpp:51:52: warning: dereferencing
type-punned pointer will break strict-aliasing rules

     "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline
-Wall -mthreads -Wno-long-long -DBOOST_ALL_NO_LIB=1
-DBOOST_THREAD_BUILD_LIB=1 -DNDEBUG -I"." -c -o
"bin.v2\libs\thread\build\gcc-mingw-4.5.1\release\link-static\runtime-link-static\threading-multi\win32\thread.o"
"libs\thread\src\win32\thread.cpp"

...failed gcc.compile.c++
bin.v2\libs\thread\build\gcc-mingw-4.5.1\release\link-static\runtime-link-static\threading-multi\win32\thread.o...
...skipped
<pbin.v2\libs\thread\build\gcc-mingw-4.5.1\release\link-static\runtime-link-static\threading-multi>libboost_thread-mgw45-mt-s-1_44.a(clean)
for lack of
<pbin.v2\libs\thread\build\gcc-mingw-4.5.1\release\link-static\runtime-link-static\threading-multi>win32\thread.o...
...skipped
<pbin.v2\libs\thread\build\gcc-mingw-4.5.1\release\link-static\runtime-link-static\threading-multi>libboost_thread-mgw45-mt-s-1_44.a
for lack of
<pbin.v2\libs\thread\build\gcc-mingw-4.5.1\release\link-static\runtime-link-static\threading-multi>win32\thread.o...
...skipped <pstage\lib>libboost_thread-mgw45-mt-s-1_44.a for lack of
<pbin.v2\libs\thread\build\gcc-mingw-4.5.1\release\link-static\runtime-link-static\threading-multi>libboost_thread-mgw45-mt-s-1_44.a...
...failed updating 2 targets...
...skipped 6 targets...


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net