************************************************************************ Visual Studio 2017 Developer Command Prompt v15.0** Copyright (c) 2017 Microsoft Corporation**********************************************************************[vcvarsall.bat] Environment initialized for: 'x64'C:/90cf73ea/tools/boost_install/.\boost-install-dirs.jam:15: in boost-install-dirs.includedirERROR: rule "package.paths" unknown in module "boost-install-dirs".C:/90cf73ea/libs/headers/build/../../../tools/boost_install\boost-install.jam:721: in boost-install.install-cmake-configlibs\headers\build\Jamfile:87: in modules.loadC:/90cf73ea/tools/build/src/build\project.jam:375: in load-jamfileC:/90cf73ea/tools/build/src/build\project.jam:64: in loadC:/90cf73ea/tools/build/src/build\project.jam:89: in load-used-projectsC:/90cf73ea/tools/build/src/build\project.jam:75: in loadC:/90cf73ea/tools/build/src/build\project.jam:145: in project.findC:/90cf73ea/tools/build/src\build-system.jam:618: in loadC:\90cf73ea\tools\build\src/kernel\modules.jam:295: in importC:\90cf73ea\tools\build\src/kernel/bootstrap.jam:139: in boost-buildC:\90cf73ea\boost-build.jam:17: in module scope
From: Ben Ernst [mailto:ben.ernst.optimatics@gmail.com]
Sent: 13 January 2019 10:18
To: Boost.Build developer's and user's list
Cc: Robert
Subject: Re: [Boost-build] Fwd: Error building Boost: "no best alternative for headers"
Robert, thank you for your suggestions. I too need to use the mklink /D trick to shorten the path names.
On Sat, Jan 12, 2019 at 2:39 AM Robert via Boost-build <boost-build@lists.boost.org> wrote:
On 1/8/2019 11:01 PM, Ben Ernst via Boost-build wrote:
> I am completely unable to build Boost libraries. I have been building on
> this same computer for many years, so this issue is confounding to me.
> I'm posting here in the hope that this peculiar error message might ring
> a bell with someone.
>
> After bootstrapping, when executing "b2.exe", before getting into the
> actual build (which fails), these error messages are repeated multiple
> times:
>
> error: No best alternative for ./headers
> next alternative: required properties: (empty)
> matched
> next alternative: required properties: (empty)
> matched
>
>
> I have attached console output from the offending build.
>
> My actual command line is:
>
> .\b2 -j8 toolset=msvc-14.1 --build-type=minimal --without-mpi
> --without-python address-model=32 link=shared threading=multi
> runtime-link=shared windows-api=desktop stage
>
Hello Ben,
I have not observed this error before. However, I always surround the
toolset value with quotes. AFAIK, it is not supposed to matter, but ...
toolset="msvc-14.1"
Additionally, I suppose it is possible the b2 .cmd files located inside
the %localappdata%\temp directory have inconsistent content. The file
names I see on mine for msvc-14.1 are named:
b2_msvc_14.1_vcvars32_.cmd
b2_msvc_14.1_vcvarsx86_amd64_.cmd
With Visual Studio 2017, the paths are quite long. What I have to do is
use a very short starting point with the mklink /D option (e.g. C:\v7).
The C:\v7 starts at:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise
I create a build forum post with more details using the Windows Intel
compiler back on June 23, 2017, 11:47 am. It might be a good reference.
I hope this helps.
Bear in mind that you can get b2/bjam in a confused state. It bit me ;-)
This link (see the later posts especially) give some hints to escape from this to a clean state.
I think new releases do a better job with ‘-a- and ‘--clean’ but it may still be useful to know this.
You can always delete the b2 command files in %localappdata%\temp directory to force their regeneration. And you also can (and may need to recover disk space) to delete any of all the files in bin.v2.
HTH
Paul