Boost logo

Boost Users :

Subject: Re: [Boost-users] Build error
From: Vladimir Prus (vladimir_at_[hidden])
Date: 2009-07-14 07:55:58


OvermindDL1 wrote:

> On Tue, Jul 14, 2009 at 1:00 AM, Vladimir Prus<vladimir_at_[hidden]> wrote:
>> 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.

I suggest you file a bug at svn.boost.org

> 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?

You can put this in project-config.jam:

        project project-config : default-build <variant>release <threading>single ;

to specify default properties for a build. The properties I gave above is
an example -- you can put anything there. It is not presently possible to
put --build-type there. I am not sure what environment variables you mean.

- Volodya


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net