Boost logo

Boost :

Subject: [boost] 1.43 build broken on MSVC 8.0
From: Stephan Menzel (stephan.menzel_at_[hidden])
Date: 2010-05-11 10:41:59


Hi there,

I was just trying to compile 1.43 on Windows 64 bit for some hours now
and unfortunately from my perspective it looks like the modified build
system may be a bit broken.

First of all, bootstrap.bat didn't work anymore. As usual I was using
it to create bjam.exe but this time it just went into causing heavy
load and after about 15 minutes it returns telling me the command line
is too long. As always, I just did this:

./bootstrap.sh

This used to work but not anymore. So I downloaded a precompiled
bjam.exe (3.18) and went with that instead.

Alas, it created a 32 bit build just fine but failed to produce a 64
bit build. It appears like it is compiling all objects for 64 bit but
then tries to link with /MACHINE:X86 , causing the linker to complain:

...
common.mkdir bin.v2\libs\math\config\msvc-8.0\debug\threading-multi
compile-c-c++ bin.v2\libs\math\config\msvc-8.0\debug\threading-multi\has_long_double_support.obj
has_long_double_support.cpp
compile-c-c++ bin.v2\libs\math\build\msvc-8.0\debug\threading-multi\sph_neumannf.obj
sph_neumannf.cpp
msvc.link.dll bin.v2\libs\math\build\msvc-8.0\debug\threading-multi\boost_math_tr1f-vc80-mt-gd-1_43.dll
bin.v2\libs\math\build\msvc-8.0\debug\threading-multi\assoc_laguerref.obj
: fatal error LNK1112: module machine type 'x64'
 conflicts with target machine type 'X86'

        call "C:\Program Files (x86)\Microsoft Visual Studio
8\VC\BIN\amd64\vcvarsamd64.bat" x86 >nul
link /NOLOGO /INCREMENTAL:NO /DLL /DEBUG /MACHINE:X86
/subsystem:console /out:"bin.v2\libs\math\build\msvc-8.0\debug\thr
eading-multi\boost_math_tr1f-vc80-mt-gd-1_43.dll"
/IMPLIB:"bin.v2\libs\math\build\msvc-8.0\debug\threading-multi\boost_m
ath_tr1f-vc80-mt-gd-1_43.lib"
@"bin.v2\libs\math\build\msvc-8.0\debug\threading-multi\boost_math_tr1f-vc80-mt-gd-1_43
.dll.rsp"
        if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

...failed msvc.link.dll
bin.v2\libs\math\build\msvc-8.0\debug\threading-multi\boost_math_tr1f-vc80-mt-gd-1_43.dll
bin.v2
\libs\math\build\msvc-8.0\debug\threading-multi\boost_math_tr1f-vc80-mt-gd-1_43.lib
bin.v2\libs\math\build\msvc-8.0\debu
g\threading-multi\boost_math_tr1f-vc80-mt-gd-1_43.pdb...

...

I've tried all sorts of command lines and user-config.jam I could
think of, but no effect.
Here's what I usually do:

./bjam.exe --architecture=amd64 --address-model=64 -j2 link=shared
threading=multi variant=debug,release stage

Please let me add that I've been doing this since 1.34 and somehow
always managed to get the job done so I have reason to assume there's
something that must have changed in this release that broke it. I also
tried the switch ---architechture=amd64 and many others I thought
might help.
I also delete everything already compiled before retrying. The system
is Windows XP, current SP and MSVC 8, also current SP.

Here's my user-config.jam:

......
using msvc : 8.0 : "C:\\Program Files (x86)\\Microsoft Visual Studio
8\\VC\\BIN\\amd64\\cl.exe"
                 : <setup>"C:\\Program Files (x86)\\Microsoft Visual
Studio 8\\VC\\BIN\\amd64\\vcvarsamd64.bat"
;

using python : 2.5 ; # Make both versions of Python available

using python : 2.5
                 : "C:\\Program Files\\Python25_64\\python.exe"
                 : "C:\\Program Files\\Python25_64\\include"
                 : "C:\\Program Files\\Python25_64\\libs"
                 : <toolset>msvc
;
.......

I also tried to copy the 'tools' folder from 1.42 where it used to
work and also the Jamroot and project-config.jam but it still produced
the same error.
Can anyone give me a hint if there's an issue with the build system in
this release?

Cheers,
Stephan


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk