On Tue, Jul 14, 2009 at 1:00 AM, Vladimir Prus
OvermindDL1 wrote:
I am attempting to build boost, first I set some environment vars (some may not be useful anymore, but I still set them): set BZIP2_SOURCE=G:\SDKs\boost\bzip2-1.0.4 set ZLIB_SOURCE=G:\SDKs\boost\zlib-1.2.3 set HAVE_ICU=1 set ICU_PATH=R:\SDKs\icu\icu set EXPAT_INCLUDE=G:\SDKs\expat\expat_cvs\expat\lib set EXPAT_LIBPATH=G:\SDKs\expat\expat_cvs\expat\win32\bin\release
I then call: bootstrap.bat bjam --build-type=complete --toolset=msvc-8.0 --without-mpi --without-python --prefix=R:/SDKs/boost/built_head --build-dir=R:/SDKs/boost/build_head define=_CRT_NONSTDC_NO_DEPRECATE define=_CRT_SECURE_NO_DEPRECATE define=_SECURE_SCL=0 define=_SCL_SECURE_NO_DEPRECATE define=_HAS_ITERATOR_DEBUGGING=0 install>..\build-HEAD.log
And my build-HEAD.log contains: Note: Building Boost.Regex with Unicode/ICU support enabled Using ICU in R:\SDKs\icu\icu/include warning: Graph library does not contain MPI-based parallel components. note: to enable them, add "using mpi ;" to your user_config.jam error: link=shared together with runtime-link=static is not allowed error: such property combination is either impossible error: or too dangerious to be of any use
I have never seen those last three errors, and other then the bootstrap my commands have not changed in many many versions. What is causing them?
I think this matter was raised on this mailing list before -- IIRC, ICU has only shared version, so trying to mix it with runtime-link=static is not going to work. I suggest you don't use --build-type=complete, and explicitly request the variants you want -- and don't request static runtime.
Hmm, I thought I looked over every email on the list since I subscribed however long ago, guess I missed it or it did not stick in my mind. So ICU is at fault then, I shall test that by just removing ICU from my build, I last needed it like a year ago for an old project, nothing recent (well, nothing needing it through Boost anyway, although I do still need it). I am now doing the exact same build as above, but removing the HAVE_ICU environment var. Yep, that was it, the build log is now filling up faster then I can keep up, thanks. I am curious though, the last build I did of Boost was the trunk only about 3 or 4 months ago, and it was successful just fine then, so something changed only recently. I have never really looked at the bjam build scripts so I do not really know where to look either, but should not the Boost.Regex bjam script disallow that combination from even appearing in a complete build? Sounds like a simple fix for someone who knows the bjam scripts. While I am at it, I am curious as to what I could put in my project-config.jam file that would fulfill everything I normally do (setting the environment vars, and everything I add on the bjam command line) so all I would need to do is bootstrap then bjam?