Boost logo

Boost :

Subject: Re: [boost] "I want everything" should build "out of the box" (on Windows)
From: Christopher Jefferson (chris_at_[hidden])
Date: 2009-07-29 08:07:10


On 28 Jul 2009, at 16:33, Vladimir Prus wrote:

> Christopher Jefferson wrote:
>
>>
>> On 28 Jul 2009, at 11:46, Vladimir Prus wrote:
>>
>>> KTC wrote:
>>>
>>>> Users on Microsoft Windows should be able to build boost with
>>>> everything, both in terms of all supported variants and all boost
>>>> libraries, with a single command to bjam assuming they have all the
>>>> optional supporting libraries available.
>>>>
>>>> An user download boost, and want to build all the libraries that
>>>> require
>>>> building go read the Getting Started Guide
>>>> <.../getting_started/windows.html#invoke-bjam> and see the after
>>>> getting
>>>> bjam they use the command
>>>> bjam --build-dir=build-directory toolset=toolset-name
>>>> --build-type=complete stage
>>>>
>>>> So they enter that into the command prompt and see lots of warnings
>>>> and
>>>> notes about missing optional components. The warnings and notes
>>>> itself
>>>> is fine and informative. Actually, it's incomplete as it stand as
>>>> it
>>>> doesn't tell the user about Boost.IOStreams optional component
>>>> requirement of bzip2 & zlib headers. Okay, the user go and install
>>>> all
>>>> the optional components the warnings and notes tell them. After
>>>> installing Python, ICU (building it first), Expat (building it
>>>> first),
>>>> and MPI (say MS-MPI), they try again. This time with the command
>>>> becoming
>>>> bjam --toolset=... --build-dir=... --build-type=complete -
>>>> sHAVE_ICU=1
>>>> -sICU_PATH="..." -sEXPAT_INCLUDE="..." -sEXPAT_LIBPATH="..."
>>>> -sBZIP2_SOURCE="..." -sZLIB_SOURCE="..." stage
>>>>
>>>> Nope, MPI requires modification of user-config.jam or building it
>>>> on its
>>>> own with --with-mpi. Why? No other optional components build that
>>>> way.
>>>> So they look to see how they do that, and does it.
>>>
>>> Do you actually want Boost.MPI? I kinda expect anybody who wants to
>>> use
>>> Boost.MPI to already have MPI installed.
>>
>> Then, why not have boost try to detect MPI, and then build/install
>> Boost.MPI in that case automatically?
>>
>> On Mac OS X, MPI is installed as a system library, yet I still have
>> to
>> document and describe the unusual procedure required to install
>> boost.MPI to users. This single feature has left us close to dumping
>> Boost.MPI in favour of another option.
>
> Just to clarify -- the procedure is putting one line in user-
> config.jam,
> most likely just:
>
> using mpi ;
>
> ? It's also documented at
> http://www.boost.org/doc/libs/1_39_0/doc/html/mpi/getting_started.html#mpi.config
>
> If you are saying that the above does not work, can you file an
> issue? If you
> are saying that the above should be automated, can you file an issue
> as well?

I'll file an issue.

The problem I had is that most people don't have a user-config.jam,
and most libraries don't require them. It seems strange to many people
they have to keep a file around in their home directory for building
boost.

Chris


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