Skip to content

Conversation

@murrayn
Copy link
Contributor

@murrayn murrayn commented Dec 30, 2022

This PR introduces documentation changes needed to keep up with #26834.

@DrahtBot
Copy link
Contributor

DrahtBot commented Dec 30, 2022

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

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK fanquake

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

@DrahtBot DrahtBot added the Docs label Dec 30, 2022
Copy link
Member

Choose a reason for hiding this comment

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

Some users read the docs from master, even if they compile a previous release. So they'd run into issues, due to #26772

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for commenting. I can see how building a previous release using master docs as a guide may result in running into issues. In that case, hopefully a search for the error would find #26774. But as mentioned here

Berkeley DB is required for the legacy wallet. Ubuntu and Debian have their own `libdb-dev` and `libdb++-dev` packages,
and here
It is recommended to use Berkeley DB 4.8. You cannot use the BerkeleyDB library
building with db5 will break compatibility with legacy wallets which is more problematic. #26772 aside, this doc should probably be updated.

Copy link
Member

Choose a reason for hiding this comment

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

This shouldn't be an issue, see #18870

Copy link
Contributor Author

Choose a reason for hiding this comment

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

My takeaway from #18870 is that it supports this PR. As @achow101 stated when he closed it:

    This seems to still be a bit problematic because of those transaction logs. So closing for now.

It's entirely possible I'm missing something, but advising someone needing legacy wallet support to build with db5 seems to go down the wrong path and build docs for platforms other than FreeBSD address this. Do you think adding more rationale in the document would be helpful?

Copy link
Member

Choose a reason for hiding this comment

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

yeah, my understanding is that you don't have logs in normal operation, so this shouldn't be an issue in normal operation. And not normal operation isn't supported by this software project.

No strong opinion either way. I think anything is fine here, I just left a comment.

@murrayn murrayn marked this pull request as draft January 4, 2023 11:09
@murrayn murrayn marked this pull request as ready for review January 6, 2023 07:35
@fanquake
Copy link
Member

fanquake commented Jan 6, 2023

See #26834. Would rather not add more usage of install_db4.sh.

@murrayn
Copy link
Contributor Author

murrayn commented Jan 12, 2023

See #26834. Would rather not add more usage of install_db4.sh.

Yes, but meanwhile the doc is incorrect.

Copy link
Contributor

@jarolrod jarolrod left a comment

Choose a reason for hiding this comment

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

no strong opinion

There's sometimes unsaid knowledge in some of these docs, and we can do a much better job of figuring out what is all the information people need to know and organize it effectively. As someone who's worked on the bsd docs, in my head the doc recommends db5 because the doc is meant to guide a user through a dynamic compile using packages they install with their package manager. There's many ways to compile core, and people need to make their own decisions as to how they want to accomplish the task.

The install_db4 script is meant for when there's no easy way to get a bin from a package manager and as a last resort option because you really don't want any static builds. Additionally, There are plans to move away from any bdb support, but that's further out. Descriptor wallets use sqlite.

Debating whether to use db5 or db4 without patches that we need (in depends) isn't so useful when, given the circumstances of this dependency, the recommendation should be to build it using depends.

Now, I would say that we could include a note here to build bdb with depends and then configure with the bdb prefix, but this would end up duplicated across the build docs for other systems where there is no db4 package.

@murrayn
Copy link
Contributor Author

murrayn commented Jan 13, 2023

The install_db4 script is meant for when there's no easy way to get a bin from a package manager

install_db4.sh is called for here because db4 is not available in package managers (or the ports system in the case of *BSD), but is required for legacy wallet support.

Debating whether to use db5 or db4

This is not the debate. db4 should be used for legacy wallet support. The section of the documentation we are discussing is specifically for legacy wallet support, and it is currently incorrect.

I support #26834 and when it is merged this section (and the same sections in the Unix and OpenBSD build documents) will need to be updated regardless.

@murrayn
Copy link
Contributor Author

murrayn commented Feb 15, 2023

I've updated the document to reflect the removal of install_db4.sh #26834

@murrayn murrayn changed the title doc: FreeBSD build doc should suggest db4 for legacy wallet support doc: FreeBSD build doc updates to reflect removal of install_db4.sh Feb 15, 2023
Copy link
Member

@fanquake fanquake left a comment

Choose a reason for hiding this comment

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

ACK c572eae - have not tested, but looks ok.

@fanquake fanquake merged commit 75f0e0b into bitcoin:master Feb 16, 2023
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Feb 16, 2023
…l of install_db4.sh

c572eae update the freebsd build doc to reflect recent changes to DB4 install process (Murray Nesbitt)

Pull request description:

  This PR introduces documentation changes needed to keep up with bitcoin#26834.

ACKs for top commit:
  fanquake:
    ACK c572eae - have not tested, but looks ok.

Tree-SHA512: 42a79e7b45834916b1b738db524b51b9ff4fde8348ba66fc331ff6603532dd9fce73ea392eef97d31112326c6d60ec2c5c7c29e66aab33aaf846aab8aea1d1aa
@murrayn murrayn deleted the use_db4_on_freebsd branch February 17, 2023 00:53
@bitcoin bitcoin deleted a comment from Ahmatmufid Jan 24, 2024
@bitcoin bitcoin locked and limited conversation to collaborators Jan 23, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants