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