Bug 1923740

Summary: /usr/share/boost-build/boost-build.jam is missing from rawhide boost-build package
Product: [Fedora] Fedora Reporter: Tom "spot" Callaway <spotrh>
Component: boostAssignee: Thomas Rodgers <trodgers>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dakingun, denis.arnaud_fedora, jwakely, trodgers
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: boost-1.75.0-3.fc34 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-02-04 06:05:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1923632    

Description Tom "spot" Callaway 2021-02-01 18:33:58 UTC
Got a FTBFS for luabind, because b2 could not run with the following error:

+ b2 -d+2 'cxxflags=-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' release
Unable to load B2: could not find 'boost-build.jam'
---------------------------------------------------
Attempted search from '/builddir/build/BUILD/luabind-0.9.1' up to the root at '/usr/bin/b2'
Please consult the documentation at 'https://boostorg.github.io/build/'.
error: Bad exit status from /var/tmp/rpm-tmp.05g0Gq (%build)

Reason: There is no longer a /usr/share/boost-build/boost-build.jam file in the rawhide boost-build package.

This is easy to fix, just create a boost-build.jam file that points to the src/kernel dir. It only needs to contain this line:

boost-build src/kernel ;

Then, install it to %{buildroot}%{_datadir}/boost-build/

Not sure how this got lost with the update to 1.75.0.

Comment 1 Jonathan Wakely 2021-02-02 12:50:24 UTC
It looks like an intentional upstream change:

https://github.com/boostorg/build/commit/512ea1f0730b59ba6232709bf9da20fde5dce3ad adds

"Add portable B2 system install option. This allows the b2 executable and the build system files to live side by side. And hence to be (re)located anywhere on disk. Soon to be used to supports Windows and other installers. This removes the need for the boost-build.jam file for bootstrap. Making it easier for users to get started."

I'm not sure how breaking the previous way to use it makes things easier for users though.

Comment 2 Jonathan Wakely 2021-02-02 12:59:03 UTC
That comment might be talking about something else ... I don't really understand anything about boost build.

It's just an upstream bug:
https://github.com/boostorg/build/issues/677
https://github.com/boostorg/build/issues/681
https://github.com/boostorg/build/issues/691

https://github.com/boostorg/build/issues/696 says this is fixed (post 1.75.0) by this snippet:
https://github.com/boostorg/build/commit/b29603fa88a614835359168e70b5a44eae8e642c#diff-14e404a46c0bb3c94122aaaccb81fa879f66930564b865c892230c0b67bee328

So we need that patch in rawhide.

Comment 3 Jonathan Wakely 2021-02-02 12:59:48 UTC
"As a workaround for the released version of B2 you can set the BOOST_BUILD_PATH environment variable to the /usr/local/share/boost-build/src/kernel path before trying to build."

That should work until we fix it in rawhide.

Comment 4 Tom "spot" Callaway 2021-02-02 14:12:25 UTC
Yeah, that change looks like what it needs.

Comment 5 Thomas Rodgers 2021-02-03 15:56:12 UTC
(In reply to Jonathan Wakely from comment #2)
> That comment might be talking about something else ... I don't really
> understand anything about boost build.
> 
> It's just an upstream bug:
> https://github.com/boostorg/build/issues/677
> https://github.com/boostorg/build/issues/681
> https://github.com/boostorg/build/issues/691
> 
> https://github.com/boostorg/build/issues/696 says this is fixed (post
> 1.75.0) by this snippet:
> https://github.com/boostorg/build/commit/
> b29603fa88a614835359168e70b5a44eae8e642c#diff-
> 14e404a46c0bb3c94122aaaccb81fa879f66930564b865c892230c0b67bee328
> 
> So we need that patch in rawhide.

Patch applied, boost.spec updated see https://src.fedoraproject.org/rpms/boost/c/325ac22f9666a4c6b115dd23a1690106e2f445f5?branch=rawhide