Boost logo

Boost-Build :

Subject: [Boost-build] Target alternatives problem
From: Ian Emmons (iemmons_at_[hidden])
Date: 2009-01-19 16:56:23


I have a pre-built library that I am trying to declare in site-
config.jam, but I am having problems. The <search> feature for the
library varies depending on the toolset, so I am using target
alternatives for the declaration. The three target alternatives are
shown below.

My jam file has a lib target with "/site-config//BerkeleyDB" in its
list of sources. When I build it with the command line "bjam
toolset=msvc-9.0 address-model=64 variant=debug", I get the following
output:

    error: No best alternative for /BerkeleyDB
        next alternative: required properties: <toolset>msvc-9.0
            not matched
        next alternative: required properties: <toolset>msvc-8.0
            not matched
        next alternative: required properties: <toolset>msvc-7.1
            not matched
    ...found 192 targets...
    ...updating 44 targets...

Why doesn't boost.build find a match? Is it significant that my lib
target specifies "/site-config//BerkeleyDB", but the error message
complains about just "/BerkeleyDB"? I am using bjam 03.1.17 and the
version of boost.build that comes with Boost libraries 1.37.0. My
user-config.jam is also shown below. Any help you might have is
greatly appreciated.

Thanks,

Ian

============== site-config.jam =================

project site-config ;

path-constant BdbDir : "D:/dev/KB/lib/bdb" ;
constant BdbVersion : 47 ;

searched-lib BerkeleyDB
    : # no sources
    : <toolset>msvc-9.0
       <variant>debug:<name>libdb$(BdbVersion)d
       <variant>release:<name>libdb$(BdbVersion)
       <address-model>64:<search>"$(BdbDir)/lib/x64-vs2008"
       <address-model>32:<search>"$(BdbDir)/lib/Win32-vs2008"
    : # no default build
    : <include>"$(BdbDir)/include"
    ;

searched-lib BerkeleyDB
    : # no sources
    : <toolset>msvc-8.0
       <variant>debug:<name>libdb$(BdbVersion)d
       <variant>release:<name>libdb$(BdbVersion)
       <address-model>64:<search>"$(BdbDir)/lib/x64-vs2005"
       <address-model>32:<search>"$(BdbDir)/lib/Win32-vs2005"
    : # no default build
    : <include>"$(BdbDir)/include"
    ;

searched-lib BerkeleyDB
    : # no sources
    : <toolset>msvc-7.1
       <variant>debug:<name>libdb$(BdbVersion)d
       <variant>release:<name>libdb$(BdbVersion)
       <address-model>32:<search>"$(BdbDir)/lib/Win32-vs2003"
    : # no default build
    : <include>"$(BdbDir)/include"
    ;

================ user-config.jam ======================

using msvc : 9.0 ;
using msvc : 8.0 ;
using msvc : 7.1 ;


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