Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 816885

Summary: ~net-p2p/bitcoin{d,-qt}-0.21.x fail to complete compiling with >=dev-libs/boost-1.77
Product: Gentoo Linux Reporter: Jason Chan <graysonchsi>
Component: Current packagesAssignee: Luke-Jr <luke-jr+gentoobugs>
Status: RESOLVED FIXED    
Severity: normal CC: proxy-maint, sam
Priority: Normal Keywords: PATCH, PullRequest
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://github.com/bitcoin/bitcoin/pull/22713
See Also: https://github.com/gentoo/gentoo/pull/22849
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 808087    
Attachments: Taken straight from upstream

Description Jason Chan 2021-10-07 20:57:08 UTC
>=dev-libs/boost-1.77 causing net-p2p/bitcoin{d,-qt} to fail during the compile phase due to definition change in boost's new version.

A commit to fix the issue has already been backported for versions ~0.22.x and ~0.21.x. The current packages available in the Gentoo overlay do not have this fix. 


Patch applies to:

=net-p2p/bitcoind-0.21.0
=net-p2p/bitcoin-qt-0.21.0

=net-p2p/bitcoind-0.21.1
=net-p2p/bitcoin-qt-0.21.1

0.21.0 still needs to be a usable option due to security or country-dependent law concerns regarding the implementation of Taproot. 

It may make sense to remove 0.21.1 in favor of 0.21.2 instead of patching it. 

Reproducible: Always

Steps to Reproduce:
1.Upgrade dev-libs/boost to >=1.77
2.Emerge net-p2p/bitcoin-qt or net-p2p/bitcoind, versions <0.21.2
Actual Results:  
wallet/test/init_test_fixture.cpp:34:52: error: ‘std::map<std::__cxx11::basic_string<char>, boost::filesystem::path>::mapped_type’ {aka ‘class boost::filesystem::path’} has no member named ‘BOOST_FILESYSTEM_C_STR’
   34 |     std::ofstream f(m_walletdir_path_cases["file"].BOOST_FILESYSTEM_C_STR);
Comment 1 Jason Chan 2021-10-07 20:59:14 UTC
Created attachment 743805 [details, diff]
Taken straight from upstream
Comment 2 Luke-Jr 2021-10-07 23:11:53 UTC
(In reply to Jason Chan from comment #0)
> 0.21.0 still needs to be a usable option due to security or
> country-dependent law concerns regarding the implementation of Taproot. 

I am not aware of any such concerns anywhere.

I do agree backports are appropriate regardless, since nobody should be forced into Taproot, but I'm not sure how soon I can get to it.
Comment 3 Jason Chan 2021-10-08 06:11:10 UTC
(In reply to Luke-Jr from comment #2)
> (In reply to Jason Chan from comment #0)
> > 0.21.0 still needs to be a usable option due to security or
> > country-dependent law concerns regarding the implementation of Taproot. 
> 
> I am not aware of any such concerns anywhere.

Regarding security, I am referring to the package.mask message, though I may be misinterpreting what the concern there is.

To the point of law, I'm making an assumption here. The enhanced privacy would make KYC/AML + transaction reporting less effective, not something regulating bodies would like. Some "privacy" cryptocurrencies that default to and claim fungible transactions aren't allowed to be traded on many U.S. based exchanges. I understand that bitcoin is already fungible but it is trivial to trace transactions without coinjoining. 

> I do agree backports are appropriate regardless, since nobody should be
> forced into Taproot, but I'm not sure how soon I can get to it.

I believe the current solution to have a successful emerge is enough until November. Backporting for optional support seems detrimental to the network should there be no issues with activation. Regardless if the project decides to spend time on that, thanks for your work on bitcoin.

In the meantime for those who want to emerge the current stable packages with a newer boost, place the attached patch in:
/etc/portage/patches/net-p2p/bitcoind-0.21.0
/etc/portage/patches/net-p2p/bitcoin-qt-0.21.0

It also applies to 0.21.1 and should work for older versions as well.
Comment 4 Andreas Sturmlechner gentoo-dev 2021-11-06 14:07:54 UTC
Please process this bug since we want to proceed with boost stabilisation.
Comment 5 Larry the Git Cow gentoo-dev 2021-11-18 06:55:39 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=504ca74263eeb38b59de2db4bd5f2d3114ff7281

commit 504ca74263eeb38b59de2db4bd5f2d3114ff7281
Author:     Luke Dashjr <luke-jr+git@utopios.org>
AuthorDate: 2021-11-06 16:54:29 +0000
Commit:     Joonas Niilola <juippis@gentoo.org>
CommitDate: 2021-11-18 06:52:26 +0000

    net-p2p/bitcoind: Add patch for boost 1.77 compatibility
    
    Closes: https://bugs.gentoo.org/816885
    Signed-off-by: Luke Dashjr <luke-jr+git@utopios.org>
    Closes: https://github.com/gentoo/gentoo/pull/22849
    Signed-off-by: Joonas Niilola <juippis@gentoo.org>

 net-p2p/bitcoind/bitcoind-0.20.1.ebuild            |  2 +
 net-p2p/bitcoind/bitcoind-0.21.0.ebuild            |  2 +
 net-p2p/bitcoind/bitcoind-0.21.1.ebuild            |  2 +
 .../files/bitcoind-0.20.1-boost-1.77-compat.patch  | 56 ++++++++++++++++++++++
 4 files changed, 62 insertions(+)