Bug 286738 - net-p2p/bitcoin: 29.0 fail to configure
Summary: net-p2p/bitcoin: 29.0 fail to configure
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Kevin Bowling
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-05-12 07:36 UTC by Ivan Rozhuk
Modified: 2025-05-12 23:07 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (kbowling)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Rozhuk 2025-05-12 07:36:04 UTC
-- Found SQLite3: /usr/local/include (found suitable version "3.46.1", minimum required is "3.7.17")
CMake Error at /usr/local/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
  Could NOT find BerkeleyDB (missing: BerkeleyDB_LIBRARY
  BerkeleyDB_INCLUDE_DIR) (Required is at least version "4.8")
Call Stack (most recent call first):
  /usr/local/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
  cmake/module/FindBerkeleyDB.cmake:107 (find_package_handle_standard_args)
  CMakeLists.txt:118 (find_package)


-- Configuring incomplete, errors occurred!
*** Error code 1
Comment 1 Kevin Bowling freebsd_committer freebsd_triage 2025-05-12 08:27:05 UTC
(In reply to Ivan Rozhuk from comment #0)
How are you building this?  You are missing the BDB library which is still required for this release.
Comment 2 Ivan Rozhuk 2025-05-12 08:31:41 UTC
(In reply to Kevin Bowling from comment #1)
I build it with portmaster on my desktop.

# make showconfig
===> The following configuration options are available for bitcoin-29.0:
     DBUS=off: D-Bus IPC system support
     DEBUG=off: Build with debugging support
     HARDENING=on: Attempt to harden binaries (PIE for ASLR, NX Stack)
     QRCODES=off: Display QR Codes
     TESTS=off: Build test binary and unit tests
     WALLET=on: Wallet Management Support
     ZMQ=off: Block and transaction broadcasting with ZeroMQ
Comment 3 Kevin Bowling freebsd_committer freebsd_triage 2025-05-12 08:42:46 UTC
(In reply to Ivan Rozhuk from comment #2)
Something is wrong with portmaster 'WALLET_USES= bdb:5+ sqlite:3' should cause bdb to be built and installed first.
Comment 4 Kevin Bowling freebsd_committer freebsd_triage 2025-05-12 08:43:50 UTC
(In reply to Kevin Bowling from comment #3)
Note that this line has not changed from the update to 29.0, so your build was accidentally working.
Comment 5 Ivan Rozhuk 2025-05-12 09:10:38 UTC
===>  Patching for bitcoin-29.0
===>  Applying FreeBSD patches for bitcoin-29.0 from /usr/ports/net-p2p/bitcoin/files
===>   bitcoin-29.0 depends on file: /usr/local/bin/cmake - found
===>   bitcoin-29.0 depends on executable: ninja - found
===>   bitcoin-29.0 depends on package: pkgconf>=1.3.0_1 - found
===>   bitcoin-29.0 depends on executable: update-desktop-database - found
===>   bitcoin-29.0 depends on package: qt5-buildtools>=5.15 - found
===>   bitcoin-29.0 depends on file: /usr/local/lib/qt5/bin/lrelease - found
===>   bitcoin-29.0 depends on package: qt5-qmake>=5.15 - found
===>   bitcoin-29.0 depends on file: /usr/local/bin/ccache - found
===>   bitcoin-29.0 depends on shared library: libboost_date_time.so - found (/usr/local/lib/libboost_date_time.so)
===>   bitcoin-29.0 depends on shared library: libevent.so - found (/usr/local/lib/libevent.so)
===>   bitcoin-29.0 depends on shared library: libdb-18.1.so - found (/usr/local/lib/libdb-18.1.so)
===>   bitcoin-29.0 depends on shared library: libsqlite3.so - found (/usr/local/lib/libsqlite3.so)
===>   bitcoin-29.0 depends on shared library: libQt5Core.so - found (/usr/local/lib/qt5/libQt5Core.so)
===>   bitcoin-29.0 depends on shared library: libQt5Gui.so - found (/usr/local/lib/qt5/libQt5Gui.so)
===>   bitcoin-29.0 depends on shared library: libQt5Network.so - found (/usr/local/lib/qt5/libQt5Network.so)
===>   bitcoin-29.0 depends on shared library: libQt5Widgets.so - found (/usr/local/lib/qt5/libQt5Widgets.so)
....


# ls /usr/local/lib/libdb-18.1.so
lrwxr-xr-x  1 root wheel   18B Jan  6 02:06:49 2024 /usr/local/lib/libdb-18.1.so@ -> db18/libdb-18.1.so

# find /usr/local/ -name 'libdb-18.1.so*'
/usr/local/lib/db18/libdb-18.1.so
/usr/local/lib/libdb-18.1.so

# ls /usr/local/lib/db18/libdb-18.1.so
-rwxr-xr-x  1 root wheel  1.9M Jan  6 02:06:49 2024 /usr/local/lib/db18/libdb-18.1.so*

# pkg which -oq /usr/local/lib/db18/libdb-18.1.so
databases/db18
Comment 6 Kevin Bowling freebsd_committer freebsd_triage 2025-05-12 10:09:59 UTC
(In reply to Ivan Rozhuk from comment #5)
You seem to have a non-standard BDB_DEFAULT=?

If you change the line mentioned in the bitcoin Makefile above from 5+ to 5, what happens?
Comment 7 Ivan Rozhuk 2025-05-12 11:13:36 UTC
(In reply to Kevin Bowling from comment #6)

Never change it:
# make -V BDB_DEFAULT
5


with "5" it build and install databases/db5, also net-p2p/bitcoin build without errors.
Comment 8 commit-hook freebsd_committer freebsd_triage 2025-05-12 19:31:07 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=44e4316cdbc985045f69c6f46682edcc0ba63d6c

commit 44e4316cdbc985045f69c6f46682edcc0ba63d6c
Author:     Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2025-05-12 19:28:21 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2025-05-12 19:28:21 +0000

    net-p2p/bitcoin: Only USE BDB 5

    A user reports that portmaster is trying to pull in BDB 18, lock this to
    BDB 5 to fix the build.

    PR:             286738
    Reported by:    Ivan Rozhuk <rozhuk.im@gmail.com>

 net-p2p/bitcoin/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 9 Ivan Rozhuk 2025-05-12 22:12:08 UTC
Thanks!

PS: it is strange that 28 was linked with db18:

# pkg del db18
Updating database digests format: 100%
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 3 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
	bitcoin: 28.1_1
	db18: 18.1.40
	litecoin: 0.21.4_5
Comment 10 Kevin Bowling freebsd_committer freebsd_triage 2025-05-12 23:07:46 UTC
(In reply to Ivan Rozhuk from comment #9)
That doesn't tell us it was, run ldd on the binary.