Install completes successfully, all appears fine. However, running bjam (in a manner that worked in previous versions) results in a failure. Reproducible: Always Steps to Reproduce: 1. emerge boost-build 2. bjam Actual Results: $ bjam Unable to load B2: could not find build system. ----------------------------------------------- /usr/share/boost-build/boost-build.jam attempted to load the build system by invoking 'boost-build src/kernel ;' but we were unable to find 'bootstrap.jam' in the specified directory or in BOOST_BUILD_PATH: /usr/share/boost-build/src/kernel Please consult the documentation at 'https://boostorg.github.io/build/'. Unable to load B2 ----------------- '/usr/share/boost-build/boost-build.jam' was found by searching from /home/randomdan up to the root. However, it failed to call the 'boost-build' rule to indicate the location of the build system. Please consult the documentation at 'https://boostorg.github.io/build/'. Expected Results: $ bjam ...found 641 targets... etc I've looked upstream, could be related a few things... but maybe this one https://github.com/boostorg/build/issues/622, specifically the change to startup.cpp. That being said, setting BOOST_BUILD_PATH=/usr/share/boost-build/ also works, as does BOOST_BUILD_PATH=/usr/share/boost-build/kernel/ as both these paths contain bootstrap.jam, one referring to the other. Doesn't feel right that a environment variable be required for default behaviour. However, as per the error message, /usr/share/boost-build/boost-build.jam refers to src/kernel which does not exist once installed. Changing this to just kernel is another fix. This can't be patched with a user patch as prepare runs in tools/src and this file is in tools. Not sure which of these is the real problem/fix or if this is an upstream problem or a Gentoo packaging problem.
please work with upstream to fix this. bjam/b2/boost.build are massive black hole that noone has ever fully understood (including myself) and something I don't want ot dive into, given its irrelevance in the community otherwise.
From https://github.com/boostorg/build/issues/622 we need to apply commit https://github.com/boostorg/build/commit/c6b74d0683c7209fb7cf6f18130b4371672ce21d "Add missing BOOST_ROOT to boot strap search" from boost 1.76 as a patch for boost 1.74 and 1.75 to tools/build/src/engine/startup.cpp.
I've actually got that patched in already... but it doesn't fix it. Apparently, it's fixed in 1.76 (see bugs 677 and 691), although it's unclear if that patch is what is being referred to. If so, that alone doesn't fix it... I could just try patching every since 1.75 in and seeing what happens.
OK... I've tried applying various patches from the upstream repo relating to startup and paths, and I've tried just building HEAD from the repo... the problem just seems to get worked and I've commented with details on my original issue (677) trying to identify where the problem(s) lie.
Fair to say this can be closed now as the most recent ebuilds install into src sub-folder and everything works fine.