Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 738034 - dev-util/boost-build-1.74.0 - bjam: Unable to load B2: could not find build system.
Summary: dev-util/boost-build-1.74.0 - bjam: Unable to load B2: could not find build s...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: David Seifert
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-08-19 18:44 UTC by Dan Goodliffe
Modified: 2021-12-14 13:15 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dan Goodliffe 2020-08-19 18:44:31 UTC
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.
Comment 1 David Seifert gentoo-dev 2020-08-25 14:38:57 UTC
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.
Comment 2 Alan Swanson 2021-01-11 17:20:19 UTC
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.
Comment 3 Dan Goodliffe 2021-01-11 18:40:30 UTC
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.
Comment 4 Dan Goodliffe 2021-01-11 20:04:57 UTC
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.
Comment 5 Dan Goodliffe 2021-12-14 13:15:23 UTC
Fair to say this can be closed now as the most recent ebuilds install into src sub-folder and everything works fine.