Skip to content

build: set minimum required Boost to 1.64.0 - #22320

Merged
fanquake merged 3 commits into
bitcoin:masterfrom
fanquake:minimum_ubuntu_18_04
Jun 24, 2021
Merged

build: set minimum required Boost to 1.64.0#22320
fanquake merged 3 commits into
bitcoin:masterfrom
fanquake:minimum_ubuntu_18_04

Conversation

@fanquake

@fanquake fanquake commented Jun 23, 2021

Copy link
Copy Markdown
Member

Setting a newer minimum required Boost means we can remove the awkward header / compile check for Boost Process.

If we don't do this, we should at-least make Boost Process being missing no longer a failure, otherwise anyone building using Boost < 1.64.0 would have to pass --disable-external-signer as well.

The only system I can see that is affected here, (doesn't have new enough system packages) is Debian Oldstable. However, anyone compiling there, can use depends. They can also no-longer use the system GCC (6.0), and I'd assume would be using Clang 7, which would be the newest compiler available to them. It's extended, LTS support also end in 1 year from now, so anyone still using it should be considering upgrading.

Debian Buster (Stable) has 1.67+, Ubuntu Bionic has 1.65+, any of the BSDs, recent Fedora, macOS etc all also have well and truly new enough Boost versions available.

I think this is something we should just do for 22.0. If not, definitely for 23.0.

Fixes #22319. Compiling Bitcoin Core should work, as windows.h will be included.
Alternative to #22294.
Would also close #22269.
#19128 could be re-opened.

@fanquake
fanquake force-pushed the minimum_ubuntu_18_04 branch from b8bcaa5 to 957f358 Compare June 23, 2021 07:49
@maflcko

maflcko commented Jun 23, 2021

Copy link
Copy Markdown
Member

Concept ACK

@hebasto

hebasto commented Jun 23, 2021

Copy link
Copy Markdown
Member

Concept ACK.

@hebasto

hebasto commented Jun 23, 2021

Copy link
Copy Markdown
Member

Boost Process was introduced in 1.64. Debian stretch has boost 1.62, other main distros have 1.65+, right?

If so, will we have any benefit of bumping boost version to 1.65 (instead of 1.64)?

@fanquake

Copy link
Copy Markdown
Member Author

If so, will we have any benefit of bumping boost version to 1.65 (instead of 1.64)?

The only benefit might be being able to take advantage of any new Boost Test related features. However it doesn't look like there is anything substantial in that regard.

@DrahtBot

DrahtBot commented Jun 23, 2021

Copy link
Copy Markdown
Contributor

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@laanwj

laanwj commented Jun 24, 2021

Copy link
Copy Markdown
Member

Tested ACK 957f358 that this fixes #22269.
No opinion on versions.

@maflcko

maflcko commented Jun 24, 2021

Copy link
Copy Markdown
Member

review ACK 957f358

didn't test

@maflcko maflcko added this to the 22.0 milestone Jun 24, 2021
@fanquake
fanquake merged commit c31161f into bitcoin:master Jun 24, 2021
@fanquake
fanquake deleted the minimum_ubuntu_18_04 branch June 24, 2021 10:36
@luke-jr

luke-jr commented Jun 27, 2021

Copy link
Copy Markdown
Member

Please check at least RHEL next time. For reference, looks like it's got 1.66 so should be fine here.

@fanquake

Copy link
Copy Markdown
Member Author

Please check at least RHEL next time. For reference, looks like it's got 1.66 so should be fine here.

This was somewhat covered by the fact that RHEL is based off a semi-recent Fedora. It would be fine in any case, because if it had a too-old version of Boost, anyone wanting to compile on that system can use depends.

@bitcoin bitcoin deleted a comment Oct 30, 2021
@bitcoin bitcoin deleted a comment Oct 30, 2021
fanquake added a commit that referenced this pull request Oct 30, 2021
9ba7c44 refactor: get wallet path relative to wallet_dir (Michael Dietz)

Pull request description:

  Now that boost has been updated > 1.60 (see #22320), we can simplify how we get
  wallet path relative to wallet_dir by using:
  `boost::filesystem::lexically_relative`, removing a TODO.

  Test coverage comes from `test/functional/wallet_multiwallet.py`

  I first tried this in #20265 which was my first attempted PR, and funny enough exactly 1 year later I'm opening this one to hopefully finally close this.

ACKs for top commit:
  ryanofsky:
    Code review ACK 9ba7c44. Basically this same code change is made in #20744 commit b70c84348ac7a8e427a1183f894c73e52c734529, so this PR helps simplify that one
  lsilva01:
    Code Review ACK 9ba7c44

Tree-SHA512: 6ccb91a18bcb52c3ae0c789a94a18fb5be7db7769fd1121552d63f259fbd32b50c3dcf169cec0b02f978321db3bc60eb4b881b8327e9764f32e700236e0d8a35
gwillen pushed a commit to ElementsProject/elements that referenced this pull request Jun 1, 2022
@bitcoin bitcoin locked and limited conversation to collaborators Oct 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

build: configure error related to boost:process when cross-compiling to windows build: boost::process detection doesn't pass include directory

6 participants