doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md #32711

pull theStack wants to merge 1 commits into bitcoin:master from theStack:202506-depends-readme-add_missing_bsd_package_installs changing 1 files +3 −3
  1. theStack commented at 12:50 pm on June 9, 2025: contributor

    Suggested initially only for OpenBSD and cmake (see #32690 (comment), #32690 (comment)), this PR adds missing package recommendations for other BSDs as well in order to build depends. I tested this only on OpenBSD, but found the package names for the other BSDs on the ports search engines:

    At least on OpenBSD, curl is a dependency of git, so most users will not need to install it explicitly. But as git is not the only way to obtain the source code, I think it doesn’t hurt to list it, and we also do it already for Ubuntu & Debian: https://github.com/bitcoin/bitcoin/blob/f3bbc746647d1fd23bf5cfe357e32f38c5f6319c/depends/README.md?plain=1#L9-L11

  2. DrahtBot commented at 12:50 pm on June 9, 2025: contributor

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

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/32711.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK hebasto, maflcko, Sjors

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

  3. DrahtBot added the label Docs on Jun 9, 2025
  4. maflcko commented at 1:02 pm on June 9, 2025: member
    lgtm ACK f8ff5690212866597958a52d4cd049d66e51d9fd
  5. Sjors commented at 7:41 am on June 10, 2025: member

    utACK f8ff5690212866597958a52d4cd049d66e51d9fd

    I also only tested on OpenBSD.

    cc @vasild

  6. in depends/README.md:34 in f8ff569021 outdated
    30@@ -31,23 +31,23 @@ To build dependencies for the current arch+OS:
    31 
    32 ### FreeBSD
    33 
    34-    pkg install bash
    35+    pkg install bash cmake curl gmake
    


    hebasto commented at 8:26 am on June 10, 2025:
    Strictly speaking, cmake-core should suffice.
  7. doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md 89526deddf
  8. in depends/README.md:42 in f8ff569021 outdated
    39     gmake
    40 
    41 ### NetBSD
    42 
    43-    pkgin install bash gmake
    44+    pkgin install bash cmake curl gmake
    


    hebasto commented at 8:51 am on June 10, 2025:

    The perl package is necessary to provide shasum: https://github.com/bitcoin/bitcoin/blob/dff208bd5a14d6c3384a0f55cfefb14c29789c57/depends/builders/netbsd.mk#L1

    UPD. Maybe switch to sha256 -n? However, its output differs from shasum -a 256:

    0$ shasum -a 256 ~/.shrc
    148ecee647f7ca1283a0a0bfed04557e26365cfe4b70babb957a5370dc4bb954c  /home/hebasto/.shrc
    2$ sha256 -n ~/.shrc
    348ecee647f7ca1283a0a0bfed04557e26365cfe4b70babb957a5370dc4bb954c /home/hebasto/.shrc
    

    hebasto commented at 9:24 am on June 10, 2025:

    On NetBSD 10.1, the default compiler is GCC 10.5.0, which makes it necessary to install a newer one: gcc12, gcc13 or gcc14.

    UPD. This issue is already mentioned in doc/build-netbsd.md.

    UPD2. Actually, the capnp package in depends fails to build with gcc12 or gcc13:

     0Building native_capnp...
     1CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
     2  Compatibility with CMake < 3.10 will be removed from a future version of
     3  CMake.
     4  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
     5  to tell CMake that the project requires at least <min> but has been updated
     6  to work with policies introduced by <max> or earlier.
     7-- The CXX compiler identification is GNU 13.3.0
     8-- Detecting CXX compiler ABI info
     9-- Detecting CXX compiler ABI info - done
    10-- Check for working CXX compiler: /usr/pkg/gcc13/bin/g++ - skipped
    11-- Detecting CXX compile features
    12-- Detecting CXX compile features - done
    13-- Looking for C++ include initializer_list
    14-- Looking for C++ include initializer_list - found
    15-- Looking for makecontext in c
    16-- Looking for makecontext in c - found
    17-- Configuring done (0.6s)
    18-- Generating done (0.1s)
    19-- Build files have been written to: /home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/depends/work/build/x86_64-unknown-netbsd10.1/native_capnp/1.1.0-7f750be53a8
    20gmake[1]: Entering directory '/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/depends/work/build/x86_64-unknown-netbsd10.1/native_capnp/1.1.0-7f750be53a8'
    21[  3%] Building CXX object src/kj/CMakeFiles/kj.dir/cidr.c++.o
    22[  4%] Building CXX object src/kj/CMakeFiles/kj.dir/list.c++.o
    23[  4%] Building CXX object src/kj/CMakeFiles/kj.dir/common.c++.o
    24[  4%] Building CXX object src/kj/CMakeFiles/kj.dir/array.c++.o
    25[  5%] Building CXX object src/kj/CMakeFiles/kj.dir/debug.c++.o
    26[  6%] Building CXX object src/kj/CMakeFiles/kj.dir/exception.c++.o
    27[  7%] Building CXX object src/kj/CMakeFiles/kj.dir/io.c++.o
    28[  8%] Building CXX object src/kj/CMakeFiles/kj.dir/memory.c++.o
    29[  9%] Building CXX object src/kj/CMakeFiles/kj.dir/mutex.c++.o
    30[ 10%] Building CXX object src/kj/CMakeFiles/kj.dir/string.c++.o
    31[ 12%] Building CXX object src/kj/CMakeFiles/kj.dir/source-location.c++.o
    32[ 13%] Building CXX object src/kj/CMakeFiles/kj.dir/hash.c++.o
    33[ 14%] Building CXX object src/kj/CMakeFiles/kj.dir/table.c++.o
    34[ 15%] Building CXX object src/kj/CMakeFiles/kj.dir/thread.c++.o
    35[ 16%] Building CXX object src/kj/CMakeFiles/kj.dir/main.c++.o
    36[ 17%] Building CXX object src/kj/CMakeFiles/kj.dir/arena.c++.o
    37[ 18%] Building CXX object src/kj/CMakeFiles/kj.dir/test-helpers.c++.o
    38[ 19%] Building CXX object src/kj/CMakeFiles/kj.dir/units.c++.o
    39[ 20%] Building CXX object src/kj/CMakeFiles/kj.dir/encoding.c++.o
    40[ 23%] Building CXX object src/kj/CMakeFiles/kj.dir/refcount.c++.o
    41[ 23%] Building CXX object src/kj/CMakeFiles/kj.dir/string-tree.c++.o
    42[ 24%] Building CXX object src/kj/CMakeFiles/kj.dir/time.c++.o
    43[ 25%] Building CXX object src/kj/CMakeFiles/kj.dir/filesystem.c++.o
    44[ 26%] Building CXX object src/kj/CMakeFiles/kj.dir/filesystem-disk-unix.c++.o
    45[ 27%] Building CXX object src/kj/CMakeFiles/kj.dir/filesystem-disk-win32.c++.o
    46[ 28%] Building CXX object src/kj/CMakeFiles/kj.dir/parse/char.c++.o
    47[ 29%] Linking CXX static library libkj.a
    48[ 29%] Built target kj
    49[ 30%] Building CXX object src/capnp/CMakeFiles/capnp.dir/blob.c++.o
    50[ 31%] Building CXX object src/capnp/CMakeFiles/capnp.dir/c++.capnp.c++.o
    51[ 32%] Building CXX object src/kj/CMakeFiles/kj-test.dir/test.c++.o
    52[ 34%] Building CXX object src/kj/CMakeFiles/kj-async.dir/async.c++.o
    53In file included from /home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/depends/work/build/x86_64-unknown-netbsd10.1/native_capnp/1.1.0-7f750be53a8/src/kj/async.c++:42:
    54/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/depends/work/build/x86_64-unknown-netbsd10.1/native_capnp/1.1.0-7f750be53a8/src/kj/async.h:39:6: error: #error "Fibers cannot be enabled when exceptions are disabled."
    55   39 |     #error "Fibers cannot be enabled when exceptions are disabled."
    56      |      ^~~~~
    57[ 35%] Building CXX object src/capnp/CMakeFiles/capnp.dir/arena.c++.o
    58[ 36%] Building CXX object src/kj/CMakeFiles/kj-async.dir/async-unix.c++.o
    59In file included from /home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/depends/work/build/x86_64-unknown-netbsd10.1/native_capnp/1.1.0-7f750be53a8/src/kj/async-unix.h:28,
    60                 from /home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/depends/work/build/x86_64-unknown-netbsd10.1/native_capnp/1.1.0-7f750be53a8/src/kj/async-unix.c++:24:
    61/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/depends/work/build/x86_64-unknown-netbsd10.1/native_capnp/1.1.0-7f750be53a8/src/kj/async.h:39:6: error: #error "Fibers cannot be enabled when exceptions are disabled."
    62   39 |     #error "Fibers cannot be enabled when exceptions are disabled."
    63      |      ^~~~~
    64[ 37%] Linking CXX static library libkj-test.a
    65[ 37%] Built target kj-test
    66[ 38%] Building CXX object src/kj/CMakeFiles/kj-async.dir/async-win32.c++.o
    67[ 39%] Building CXX object src/capnp/CMakeFiles/capnp.dir/layout.c++.o
    68gmake[3]: *** [src/kj/CMakeFiles/kj-async.dir/build.make:93: src/kj/CMakeFiles/kj-async.dir/async-unix.c++.o] Error 1
    69gmake[3]: *** Waiting for unfinished jobs....
    70[ 40%] Building CXX object src/capnp/CMakeFiles/capnp.dir/list.c++.o
    71[ 41%] Building CXX object src/capnp/CMakeFiles/capnp.dir/any.c++.o
    72gmake[3]: *** [src/kj/CMakeFiles/kj-async.dir/build.make:79: src/kj/CMakeFiles/kj-async.dir/async.c++.o] Error 1
    73gmake[2]: *** [CMakeFiles/Makefile2:242: src/kj/CMakeFiles/kj-async.dir/all] Error 2
    74gmake[2]: *** Waiting for unfinished jobs....
    75[ 42%] Building CXX object src/capnp/CMakeFiles/capnp.dir/message.c++.o
    76[ 43%] Building CXX object src/capnp/CMakeFiles/capnp.dir/schema.capnp.c++.o
    77[ 45%] Building CXX object src/capnp/CMakeFiles/capnp.dir/stream.capnp.c++.o
    78[ 46%] Building CXX object src/capnp/CMakeFiles/capnp.dir/serialize.c++.o
    79[ 47%] Building CXX object src/capnp/CMakeFiles/capnp.dir/serialize-packed.c++.o
    80[ 48%] Building CXX object src/capnp/CMakeFiles/capnp.dir/schema.c++.o
    81[ 49%] Building CXX object src/capnp/CMakeFiles/capnp.dir/schema-loader.c++.o
    82[ 50%] Building CXX object src/capnp/CMakeFiles/capnp.dir/dynamic.c++.o
    83[ 51%] Building CXX object src/capnp/CMakeFiles/capnp.dir/stringify.c++.o
    84[ 52%] Linking CXX static library libcapnp.a
    85[ 52%] Built target capnp
    86gmake[1]: *** [Makefile:136: all] Error 2
    87gmake[1]: Leaving directory '/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/depends/work/build/x86_64-unknown-netbsd10.1/native_capnp/1.1.0-7f750be53a8'
    88gmake: *** [funcs.mk:342: /home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/depends/work/build/x86_64-unknown-netbsd10.1/native_capnp/1.1.0-7f750be53a8/./.stamp_built] Error 1
    89gmake: Leaving directory '/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/depends'
    

    cc: @ryanofsky


    fanquake commented at 11:32 am on June 10, 2025:
  9. theStack force-pushed on Jun 10, 2025
  10. theStack commented at 11:23 am on June 10, 2025: contributor
    Thanks for the reviews! @hebasto: only added the “perl” package to the NetBSD list for now, as we seem to generally not explicitly list compilers here (looking at the “Ubuntu & Debian” line). Could bump to gcc14 in the build readme if desired, though I think the underlying gcc12/13 issue should be fixed in a different PR, likely involving an capnp upstream patch.
  11. hebasto approved
  12. hebasto commented at 11:29 am on June 10, 2025: member
    ACK 89526deddf87904619b26319e8d149cf97466868.
  13. DrahtBot requested review from maflcko on Jun 10, 2025
  14. DrahtBot requested review from Sjors on Jun 10, 2025
  15. maflcko commented at 12:06 pm on June 10, 2025: member
    lgtm ACK 89526deddf87904619b26319e8d149cf97466868
  16. Sjors commented at 12:27 pm on June 10, 2025: member
    re-utACK 89526deddf87904619b26319e8d149cf97466868
  17. fanquake merged this on Jun 10, 2025
  18. fanquake closed this on Jun 10, 2025

  19. fanquake referenced this in commit 876a7b2db5 on Jun 10, 2025
  20. fanquake commented at 12:33 pm on June 10, 2025: member
    Backported to 29.x in #32589.
  21. theStack deleted the branch on Jun 10, 2025

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-06-15 06:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me