Hi, __MINGW32_MAJOR_VERSION is confusing me at the moment. Where is it coming from? What does it stand for? Even though my compiler at the moment informs me of PS C:\Sys\boost\boost_1_50_0> g++ --version g++.exe (GCC) 4.6.3 20111208 (prerelease) is is defined as 3 when boost compiles. __MINGW32_MINOR_VERSION is defined as 11. I had to hard check that, no idea where those numbers are coming from. This leads to this statement from boost_1_50_0\libs\thread\src\win32\tss_pe.cpp #if defined(__MINGW64__) || (__MINGW32_MAJOR_VERSION >3) || \ ((__MINGW32_MAJOR_VERSION==3) && (__MINGW32_MINOR_VERSION>=18)) evaluating to false and this extern "C" const IMAGE_TLS_DIRECTORY32 _tls_used __attribute__ ((section(".rdata$T"))) = to compile in, which in turn produces c:/mingw-4.6.1/bin/../lib/gcc/mingw32/4.6.1/../../../libmingw32.a(tlssup.o):tlssup.c:(.tls+0x0): multiple definition of `_tls_used' /Sys/boost/MinGW32/boost_1_50_0/lib/libboost_thread-mgw46-mt-d-1_50.a(tss_pe.o):tss_pe.cpp:(.rdata$T+0x0): first defined here when trying to link to the static library. I fixed that by hacking the 18 in the source down to a 11 and recompiling boost with PS C:\Sys\boost\boost_1_50_0> .\b2.exe --prefix=c:\Sys\boost\MinGW32\boost_1_50_0 toolset=gcc address-model=32 link=static -s BZIP2_SOURCE=C:\Sys\bzip2-1.0.6 -s ZLIB_SOURCE=C:\Sys\zlib-1.2.7 install That seems to have solved my issue for now, but I don't know if my major or minor versions are set incorrectly or whether this might a bug in the code base? Thoughts? Florian