Skip to content

<build>no on a library prevents installing/staging other libraries #104

@Lastique

Description

@Lastique

Make sure you completed the following tasks

Environment and version details

  • Operating System+version: Ubuntu 21.04
  • Compiler+version: GCC 10.3
  • Shell: Bash
  • B2 Version: 4.7

Problem description

When one of the libraries in a project has <build>no feature attached in requirements, other libraries in the same project are no longer installed in the stage/install directory, even if built. Here's an example Jamfile:

import project ;
import feature ;
import configure ;

project boost/foobar
    : source-location ../src
    ;

lib boost_foo
    : ## sources ##
      foo.cpp
    ;

lib boost_bar
    : ## sources ##
      bar.cpp
    : ## requirements ##
      <build>no
    ;

boost-install boost_foo boost_bar ;

Full project is here, place in $BOOST_ROOT/libs:
foobar.tar.gz

Running b2 -j8 --with-foobar stage or b2 -j8 --prefix="<install_prefix>" --with-foobar link=shared install only installs CMake files but no headers or libraries. In bin.v2 libboost_foo.so.1.78.0 is actually built though.

<build>no should only affect boost_bar and not boost_foo.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions