Opened 9 years ago

Last modified 7 years ago

#9507 new Bugs

[bcp] bcp creates broken build for asio component

Reported by: virtualritz@… Owned by:
Milestone: To Be Determined Component: Building Boost
Version: Boost 1.55.0 Severity: Showstopper
Keywords: bcp, asio Cc:

Description

When I try to extract the 'asio' component via bcp (and custom namespace), I end up with a broken build environment in the target dir. Every other component I tried to extract this way works.

I'm on OS X 10.9.1 using XCode 5 command line tools.

Steps to reproduce (in bash):

./bootstrap.sh

( cd tools/bcp/ && ../../tools/build/v2/engine/bin.macosxx86_64/bjam toolset=darwin )

./dist/bin/bcp --namespace=akboost --namespace-alias \
    build \
    asio \
    $HOME/build/akboost/

cp bjam $HOME/build/akboost

cd $HOME/build/akboost

./bjam -d+2 debug release \
    toolset=darwin \
    threading=multi \
    link=static \
    cxxflags=-stdlib=libstdc++ \
    cxxflags=-mmacosx-version-min=10.7 \
    linkflags=-stdlib=libstdc++ \
    linkflags=-mmacosx-version-min=10.7 \
    --toolset-root=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk \
    --macosx-version=10.7 --macosx-version-min=10.7 \
    --layout=tagged \
    --build-dir=$HOME/build/akboost_1.55_build \
    --prefix=$HOME/akboost_1.55.0 \
    install

This yields this error from bjam:

link.jam: No such file or directory
error: Unable to find file or target named
error:     '/boost/context//boost_context'
error: referred to from project at
error:     'libs/coroutine/build'
error: could not resolve project reference '/boost/context'

If I use bcp to extract any other component (I tried algorithm, assign, chrono, date_time, detail, filesystem, filesystem3, foreach, gil, iostreams, multi_array, multi_index, numeric, property_tree, regex, serialization spirit signal system, timer and thread) everything works just fine and bjam works its magic.

Change History (3)

comment:1 by anonymous, 9 years ago

Version: Boost 1.54.0Boost 1.55.0

comment:2 by anonymous, 8 years ago

I'm also affected by this problem, any quick workaround?

comment:3 by dmitrinove@…, 7 years ago

in Boost 1.58.0 and the new 1.59.0 the asio extraction is still broken, look also to Ticket 11376.

As a quick workaround, I add Timer and Context library to bcp command line:

./bin.v2/tools/bcp/gcc-4.4.7/release/link-static/bcp build config asio context timer ../myasio/

cd ../myasio/

./bootstrap.sh
./b2

IMHO bcp tracking source dependencies of library Coroutine and Coroutine required Context but bcp is unable to track it.

I don't know if Coroutine is actually needed by Asio, but bcp adds it to the dependencies list and creates all the following issues.

Note: See TracTickets for help on using tickets.