Boost logo

Boost-Build :

Subject: Re: [Boost-build] Fwd: Error building Boost: "no best alternative for headers"
From: Ben Ernst (ben.ernst.optimatics_at_[hidden])
Date: 2019-01-15 01:26:29


Here's the error I'm getting now from a perfectly *clean checkout*.
Unfortunately I get this *same *error trying to run "bjam --clean".

**********************************************************************
** 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.includedir
ERROR: 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-config
libs\headers\build\Jamfile:87: in modules.load
C:/90cf73ea/tools/build/src/build\project.jam:375: in load-jamfile
C:/90cf73ea/tools/build/src/build\project.jam:64: in load
C:/90cf73ea/tools/build/src/build\project.jam:89: in load-used-projects
C:/90cf73ea/tools/build/src/build\project.jam:75: in load
C:/90cf73ea/tools/build/src/build\project.jam:145: in project.find
C:/90cf73ea/tools/build/src\build-system.jam:618: in load
C:\90cf73ea\tools\build\src/kernel\modules.jam:295: in import
C:\90cf73ea\tools\build\src/kernel/bootstrap.jam:139: in boost-build
C:\90cf73ea\boost-build.jam:17: in module scope

On Tue, Jan 15, 2019 at 2:15 AM Paul Bristow <paul.a.bristow_at_[hidden]>
wrote:

>
>
>
>
> *From:* Ben Ernst [mailto:ben.ernst.optimatics_at_[hidden]]
> *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_at_[hidden]> 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.
>
>
>
>
> https://stackoverflow.com/questions/5709105/how-do-i-force-bjam-in-boost-to-build-cleanly-and-consistently
>
>
>
> 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
>
>
>
>
>
>
>
>
>
>
>
>
>
>



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