Good Afternoon,

 

We have been using boost-threads for our native APIs and, thus far, Boost has been a godsend! We had a recent request to build a 64-bit version of this API. To accomplish this we have attempted to build using MinGW64. Unfortunately, I have had zero luck getting boost-threads to build. I can build the 32-bit address model without a problem but 64-bit continues to elude me.

 

I first tried Boost 1.35.0 and have now moved on to 1.45.0. I believe that the environment is set up correctly (see below). This build is being performed on a Windows 7 64-bit using MinGW64 from Cygwin.

 

    export CC=x86_64-w64-mingw32-gcc.exe

    export CXX=x86_64-w64-mingw32-g++.exe

    export LD=x86_64-w64-mingw32-ld.exe

 

I have, also, modified my PATH to use the appropriate 64-bit bintools and aliased gcc, g++ and ld to the 64-bit MinGW64 compilers and linkers.

 

To build Boost I have used the following with no success.

 

   boostrap.sh  address-model=64 –prefix=<install> --with-libraries=thread; bjam –a install;

   boostrap.sh  –prefix=<install> --with-libraries=thread; bjam –a address-model=64 install;

   boostrap.sh  –prefix=<install> --with-libraries=thread; bjam –a install;

 

The last build attempt succeeds but appears to have built 32-bit binaries. The previous two fail in building boost-threads complaining that ‘address-model-64’ is not found for certain build artifacts.  I have, also, tried the above with a prebuilt bjam with the same results.

 

I have tried much more than what I have cited here (including MSVC builds) with no success (some built but resulted in 32-bit binaries). I have scoured Google and found many talking about this but most either had no resolution or contained instructions that conflicted or made no sense. Does anybody have any insight into how I can produce a 64-bit boost-threads archive? Any help would be greatly appreciated.

 

Thanks in advance,

Dustin

 

P.S. If I have missed any information or you need more (build logs), please, let me know.