Skip to content

<local-visibility>hidden in build.jam creates problems when building Boost #425

@pdimov

Description

@pdimov

The <local-visibility>hidden requirement in the global project requirements here

<local-visibility>hidden

causes the following warnings when trying to build Boost:

error: No best alternative for /C:/boost-git/master/libs/histogram/install-libraries-shared with <abi>ms <address-model>64 <architecture>x86 <asynch-exceptions>off <binary-format>pe <boost.beast.allow-deprecated>on <boost.beast.separate-compilation>on <boost.cobalt.executor>any_io_executor <boost.cobalt.pmr>std <context-impl>fcontext <coverage>off <debug-store>object <debug-symbols>off <doxygen.doxproc.index>no <doxygen.processor>xsltproc <embed-manifest-via>linker <embed-manifest>on <exception-handling>on <extern-c-nothrow>off <format>html <inlining>full <known-warnings>hide <link>static <midl-robust>yes <midl-stubless-proxy>yes <optimization>speed <os>NT <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python>3.9 <relevant>target-os <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <target-os>windows <testing.execute>on <threadapi>win32 <threading>multi <toolset-msvc:version>14.5 <toolset>msvc <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on <windows-api>desktop <x-deduced-platform>x86_64
    no match: <local-visibility>hidden
    no match: <local-visibility>hidden <target-os>windows
    no match: <local-visibility>hidden <target-os>cygwin

I have no idea why, but when I remove it, the errors disappear.

I don't know why this requirement is even there; the library is header-only. Can it be removed? Or failing that, moved to test (if it's needed there for some reason.)

As a general rule global project requirements should be avoided, because they apply to all targets, which is rarely what one wants. It would be cleaner if the project in build.jam was just

project /boost/histogram ;

and the requirements were moved to test (and example if appropriate.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions