Skip to content

Conversation

Sjors
Copy link
Member

@Sjors Sjors commented Feb 22, 2019

Version 1.70 is most recent.

Versions needed for:

@Sjors
Copy link
Member Author

Sjors commented Feb 22, 2019

Other than iOs support, are there are any other reasons for updating the Boost version? Otherwise this can wait until #12557 is closer to merge readiness.

@fanquake suggested bumping straight to 1.69

@maflcko
Copy link
Member

maflcko commented Feb 22, 2019

This is sporadically updated to the latest version, so might as well do 1.69

@Sjors
Copy link
Member Author

Sjors commented Feb 22, 2019

Mmm, Travis build for 32-bit ARM is unhappy:

undefined reference to `boost::system::system_category()

I'll try if 1.69 magically makes that problem go away.

@Sjors Sjors changed the title [depends] update to Boost 1.66 [depends] update to Boost 1.69 Feb 22, 2019
@Sjors Sjors force-pushed the 2019/02/depends_boost branch from b4ca5d5 to 43eccb0 Compare February 22, 2019 13:53
@fanquake
Copy link
Member

Concept ACK. Will review release notes and test depends builds etc.

@fanquake
Copy link
Member

Relevant release notes from Boost 1.65.0 -> 1.69.0:

1.69.0

Filesystem

  • Fixed crashes in boost::filesystem::copy due to undefined behavior in the implementation.
  • Fixed undefined behavior in boost::filesystem::directory_iterator implementation.
  • Fixed MSVC warnings about narrowing conversions.

System

  • Boost.System is now header-only. A stub library is still built for compatibility, but linking to it is no longer necessary.
  • The destructor of error_category is now protected and no longer virtual. This is a potentially breaking change, but its impact is expected to be limited.

1.68.0

Boost.WinAPI has been updated to target Windows 7 by default, where possible. In previous releases Windows Vista was the default.

Test

  • Breaking change: The master_test_suite_t object is no more copyable

1.67.0

Filesystem

  • Fix static initialization issue that caused a crash if path operations were used before main()

Test

  • Breaking change: Adding test cases with the same name to the same test suite is now reported as an error. See the changes log for more details.

1.66.0

Thread

  • Many Windows related fixes.

1.65.0

Test

  • C++17 compatibility (tested on VS2017)

Breaking Changes

  • Some API changes for the loggers
  • Deprecating BOOST_GLOBAL_FIXTURE in favor of BOOST_TEST_GLOBAL_FIXTURE and BOOST_TEST_GLOBAL_CONFIGURATION.

@promag
Copy link
Contributor

promag commented Apr 29, 2019

Concept ACK.

Then this could be updated:

// Get wallet path relative to walletdir by removing walletdir from the wallet path.
// This can be replaced by boost::filesystem::lexically_relative once boost is bumped to 1.60.
const fs::path path = it->path().string().substr(offset);

Edit: this too https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md#L9

@bitcoin bitcoin deleted a comment from DrahtBot Apr 30, 2019
@hebasto
Copy link
Member

hebasto commented May 2, 2019

Concept ACK.
Agree with @promag's comments.

@Sjors Sjors force-pushed the 2019/02/depends_boost branch from 43eccb0 to 19ca64a Compare May 2, 2019 10:07
@Sjors
Copy link
Member Author

Sjors commented May 2, 2019

Rebased and adjusted the version in dependencies.md. We can't change walletutil.cpp because the minimum Boost version (1.47.0) doesn't change with this PR. Changing the minimum version can be done in a followup, but there's no urgent need afaik.

@Sjors Sjors force-pushed the 2019/02/depends_boost branch from 19ca64a to 2620e24 Compare May 3, 2019 12:22
@Sjors
Copy link
Member Author

Sjors commented May 3, 2019

I switched from Boost 1.69 to 1.70

@Sjors Sjors changed the title [depends] update to Boost 1.69 [depends] update to Boost 1.70 May 3, 2019
@practicalswift
Copy link
Contributor

Concept ACK

@DrahtBot
Copy link
Contributor

DrahtBot commented May 3, 2019

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

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #10102 ([experimental] Multiprocess bitcoin by ryanofsky)

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.

@DrahtBot
Copy link
Contributor

DrahtBot commented May 5, 2019

Gitian builds for commit 24dfcf3 (master):

Gitian builds for commit c0d07f6 (master and this pull):

@Sjors
Copy link
Member Author

Sjors commented May 6, 2019

Very lightly tested the macOS Gitian QT build.

@laanwj
Copy link
Member

laanwj commented Jun 6, 2019

ACK 2620e24, let's do this early in the 0.19 cycle

@laanwj laanwj merged commit 2620e24 into bitcoin:master Jun 6, 2019
laanwj added a commit that referenced this pull request Jun 6, 2019
2620e24 [depends] boost: update to 1.70 (Sjors Provoost)

Pull request description:

  Version [1.70](https://www.boost.org/users/history/version_1_70_0.html) is most recent.

  Versions needed for:
  * 1.66: #12557: fixes the single arm64 configuration ([06ee5b5](ruslo/hunter@06ee5b5))

ACKs for commit 2620e2:

Tree-SHA512: 6e0174f1d92c2c24314c0689d4809e048914f8f42d17aa73799f5ee232169e0dd0ed71f5f973903c44c08309f2837c629c493f15e5c31ec6c7bd1daae5f3b25f
@@ -109,7 +108,7 @@ AC_DEFUN([AX_BOOST_SYSTEM],

fi
if test "x$ax_lib" = "x"; then
AC_MSG_ERROR(Could not find a version of the boost_system library!)
AC_MSG_ERROR(Could not find a version of the library!)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This reverts (part of) 25333a2 but I don't know if we care.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't realize we were using a patch on top of https://www.gnu.org/software/autoconf-archive/ax_boost_base.html

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops: #17010

@maflcko
Copy link
Member

maflcko commented Jun 6, 2019

It seems that not even debian experimental is at 1.70. I guess that means we are the beta testers? Let's hope debian ships it within the next couple of months.

@kristapsk
Copy link
Contributor

On Gentoo it exists but is masked (not stable).

sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Jun 6, 2019
2620e24 [depends] boost: update to 1.70 (Sjors Provoost)

Pull request description:

  Version [1.70](https://www.boost.org/users/history/version_1_70_0.html) is most recent.

  Versions needed for:
  * 1.66: bitcoin#12557: fixes the single arm64 configuration ([06ee5b5](ruslo/hunter@06ee5b5))

ACKs for commit 2620e2:

Tree-SHA512: 6e0174f1d92c2c24314c0689d4809e048914f8f42d17aa73799f5ee232169e0dd0ed71f5f973903c44c08309f2837c629c493f15e5c31ec6c7bd1daae5f3b25f
@Sjors Sjors deleted the 2019/02/depends_boost branch June 7, 2019 12:18
eugene-sy added a commit to meritlabs/merit that referenced this pull request Jun 11, 2019
deadalnix pushed a commit to Bitcoin-ABC/bitcoin-abc that referenced this pull request Apr 1, 2020
Summary:
Backport of core [[bitcoin/bitcoin#15461 | PR15461]].

This PR is known to cause 2 issues:
 - The build (native) on ARM might be broken:
bitcoin/bitcoin#17010
 - The error messages are not helpful:
bitcoin/bitcoin#16803

None of these issues are critical.

I kept (adapted) the patch to work around the first issue. It doesn't
provide a very solid guarantee but it can't hurt.

The second issue will be fixed in a future backport.

Note that due to boost cmake update, it is now required to set
`Boost_USE_STATIC_RUNTIME` to `ON`.

Test Plan:
  make
  make check

Run the Gitian builds.

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5623
ftrader pushed a commit to bitcoin-cash-node/bitcoin-cash-node that referenced this pull request Aug 17, 2020
Summary:
Backport of core [[bitcoin/bitcoin#15461 | PR15461]].

This PR is known to cause 2 issues:
 - The build (native) on ARM might be broken:
bitcoin/bitcoin#17010
 - The error messages are not helpful:
bitcoin/bitcoin#16803

None of these issues are critical.

I kept (adapted) the patch to work around the first issue. It doesn't
provide a very solid guarantee but it can't hurt.

The second issue will be fixed in a future backport.

Note that due to boost cmake update, it is now required to set
`Boost_USE_STATIC_RUNTIME` to `ON`.

Test Plan:
  make
  make check

Run the Gitian builds.

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5623
xdustinface pushed a commit to xdustinface/dash that referenced this pull request Feb 17, 2021
2620e24 [depends] boost: update to 1.70 (Sjors Provoost)

Pull request description:

  Version [1.70](https://www.boost.org/users/history/version_1_70_0.html) is most recent.

  Versions needed for:
  * 1.66: bitcoin#12557: fixes the single arm64 configuration ([06ee5b5](ruslo/hunter@06ee5b5))

ACKs for commit 2620e2:

Tree-SHA512: 6e0174f1d92c2c24314c0689d4809e048914f8f42d17aa73799f5ee232169e0dd0ed71f5f973903c44c08309f2837c629c493f15e5c31ec6c7bd1daae5f3b25f
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Dec 16, 2021
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.

9 participants