Boost logo

Boost-Build :

Subject: Re: [Boost-build] Baffling build properties
From: Vladimir Prus (ghost_at_[hidden])
Date: 2010-11-18 04:24:49


On Thursday, November 18, 2010 10:44:17 David Abrahams wrote:
> At Thu, 18 Nov 2010 09:38:35 +0300,
>
> Vladimir Prus wrote:
> > On Thursday, November 18, 2010 05:02:44 David Abrahams wrote:
> > > The build I am running works just fine unless I add "address-model=64"
> > >
> > > to the command line, at which point I get:
> > > 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
> > >
> > > and BB bails out. What the...? I'm just building boost's "stage"
> > > target. How can I get around this problem, please!?
> >
> > What is exact command line?
>
> bjam -j2 --user-config=W:\work\installer\user-config.jam
> --build-dir=W:\work\installer\1_44-installer\build
> --stagedir=W:\work\installer\1_44-installer\stage
> --debug-configuration address-model=64 --build-type=complete
> toolset=msvc-10.0express stage
>
> > And -- what Boost?
>
> 1.44.0
>
> > I'm sure I was fixing a problem where some library was working
> > link=shared without also forcing runtime-link=static.
>
> Yeah, that sounds familiar. Any idea which one?

mpi, I think. I have, in trunk, this:

    python-extension mpi
      : # Sources
       ....
      : # Requirements
         ....
        <link>shared <runtime-link>shared
      ;

I believe that 1.44 has only <link>shared on the last line, which is
causingthe problem.

> > You can use --debug-building to figure what library is being built when
> > this error message is output.
>
> Hmm... something looks fishy about the properties set up for
> --build-type=complete in Jamroot. Seems like <link> and
> <runtime-link> are supposed to always have the same value, but Jamroot
> isn't ensuring that.

Are you sure? The stage target in Jamroot filters out invalid properties. The
problem only happens after specific target forces shared link without forcing
shared runtime.
(Anyway, --debug-building was supposed to tell what is the target being built
right before the error message. In case my guess mpi is at fault, please take
a look at the output or post it)

- Volodya

-- 
Vladimir Prus
http://vladimir_prus.blogspot.com
Boost.Build: http://boost.org/boost-build2

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk