Skip to content

rewrite FreeBSD and OpenBSD install tabs for modern Chia#994

Open
BrandtH22 wants to merge 2 commits into
mainfrom
docs/freebsd-openbsd-install-rewrite
Open

rewrite FreeBSD and OpenBSD install tabs for modern Chia#994
BrandtH22 wants to merge 2 commits into
mainfrom
docs/freebsd-openbsd-install-rewrite

Conversation

@BrandtH22
Copy link
Copy Markdown
Contributor

@BrandtH22 BrandtH22 commented May 12, 2026

Replace outdated instructions (Chia 1.1.4, FreeBSD 11, OpenBSD 6.8, Python 3.7/3.8, manual clvm_rs/chiavdf builds) with modern Poetry-based install.sh workflow for FreeBSD 13/14 and OpenBSD 7.x with Python >=3.10. Add community-supported disclaimers, known-limitations sections, and legacy HTML anchor elements to preserve external fragment links.


Note

Low Risk
Documentation-only rewrite; low risk aside from potentially misleading users if OS/package versions or install.sh behavior differ from reality.

Overview
Updates the FreeBSD and OpenBSD tabs in installation.md to replace legacy, manual build steps (ports-built cryptography, clvm_rs/chiavdf hacks, keychain edits) with the current sh install.sh + Poetry workflow targeting FreeBSD 13/14 and OpenBSD 7.x with Python >=3.10.

Adds community-supported disclaimers, preserves old section fragment links via legacy HTML anchors, and documents OS-specific limitations and troubleshooting (notably BUILD_VDF_CLIENT=N timelord unavailability, no GUI, UPnP disable command, FreeBSD miniupnpc build workaround, and a note about compressed plots on FreeBSD).

Reviewed by Cursor Bugbot for commit 22ad0b1. Bugbot is set up for automated code reviews on this repo. Configure here.

Replace outdated instructions (Chia 1.1.4, FreeBSD 11, OpenBSD 6.8, Python 3.7/3.8, manual clvm_rs/chiavdf builds) with modern Poetry-based install.sh workflow for FreeBSD 13/14 and OpenBSD 7.x with Python >=3.10. Add community-supported disclaimers, known-limitations sections, and legacy HTML anchor elements to preserve external fragment links.

Co-authored-by: Cursor <cursoragent@cursor.com>
@BrandtH22
Copy link
Copy Markdown
Contributor Author

pending review and confirmation of accuracy. I have asked the community to help with this here:
Chia-Network/chia-blockchain#8763 (reply in thread)

danieljperry
danieljperry previously approved these changes May 13, 2026
Copy link
Copy Markdown
Contributor

@danieljperry danieljperry left a comment

Choose a reason for hiding this comment

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

I don't have a way to test FreeBSD and OpenBSD, but I think you've included sufficient disclaimers for them.

@BrandtH22
Copy link
Copy Markdown
Contributor Author

I don't have a way to test FreeBSD and OpenBSD, but I think you've included sufficient disclaimers for them.

I have reached out to a community dev who is going through to test the instructions and help update 💯

@cross
Copy link
Copy Markdown

cross commented May 18, 2026

Hey there. So, I tried these out. They didn't work straight away for me on FreeBSD 14.3/amd64.
First, there is no reason anyone would need to chsh to bash. If it needs bash, the invocation of install.sh should be "bash install.sh" not "sh install.sh", but I found that FreeBSD 14's sh is able to handle install.sh just fine, unless it's running bash on itself internally. (sh install.sh worked. I don't think FreeBSD's sh will use the shebang automatically in some way, so I think it's just sh, but.) I did install bash, but didn't run it.

Anyway. Most of install.sh runs fine. However, I found that it would fail to build/install miniupnpc. There were errors from that package, and not others. install.sh eventually exits unsuccessfully due to this.

I even went ahead and installed that package onto the system (pkg install py311-miniupnpc) and that installed 2.3.3, so the expected version. (may change later, but for FreeBSD 14.3 in May 2026). But poetry isn't able to use that installed that way I think. I don't know poetry.
After that failure in/from install.sh, I was able to:

. ./.venv/bin/activate
pip3 install miniupnpc
deactivate
sh install.sh

and it worked. pip is able to take the one from the system and present it in the venv, but I guess poetry doesn't do that?

Thanks.

@BrandtH22
Copy link
Copy Markdown
Contributor Author

Hey there. So, I tried these out. They didn't work straight away for me on FreeBSD 14.3/amd64. First, there is no reason anyone would need to chsh to bash. If it needs bash, the invocation of install.sh should be "bash install.sh" not "sh install.sh", but I found that FreeBSD 14's sh is able to handle install.sh just fine, unless it's running bash on itself internally. (sh install.sh worked. I don't think FreeBSD's sh will use the shebang automatically in some way, so I think it's just sh, but.) I did install bash, but didn't run it.

Anyway. Most of install.sh runs fine. However, I found that it would fail to build/install miniupnpc. There were errors from that package, and not others. install.sh eventually exits unsuccessfully due to this.

I even went ahead and installed that package onto the system (pkg install py311-miniupnpc) and that installed 2.3.3, so the expected version. (may change later, but for FreeBSD 14.3 in May 2026). But poetry isn't able to use that installed that way I think. I don't know poetry. After that failure in/from install.sh, I was able to:

. ./.venv/bin/activate
pip3 install miniupnpc
deactivate
sh install.sh

and it worked. pip is able to take the one from the system and present it in the venv, but I guess poetry doesn't do that?

Thanks.

Hey @cross thank you very much for testing and the feedback.

I made some updates to the docs based on your feedback but can you check to make sure I captured everything correctly?
https://994.docs.chia.net/

Main changes are:

  • removing the portion indicating bash is required
  • adding a note about manually installing miniupc

Out of curiosity I know previous instances in FreeBSD had more difficulty supporting compressed plots, do you have compressed plots which you have tested this installation with?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants