mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-25 02:33:24 -03:00
Merge #20527: build: Do not ignore Homebrew's SQLite on macOS
c932e0d67e
doc: Update wallet database installation guide for macOS (Hennadii Stepanov)ee7b84e63c
build: Use Homebrew's sqlite package if it is available (Hennadii Stepanov)c96d1f65a5
build, refactor: Check that Homebrew's qt5 package is actually installed (Hennadii Stepanov) Pull request description: On master (7ae86b3c68
) installed Homebrew `sqlite` package is ignored during build on macOS. This PR fixes this issue and update macOS build docs. Closes #20498. ACKs for top commit: willcl-ark: > > That said, another tACK of [c932e0d
](c932e0d67e
) hebasto: > That said, another tACK of [c932e0d
](c932e0d67e
) laanwj: Code review ACKc932e0d67e
jonasschnelli: code review re-ACKc932e0d67e
Tree-SHA512: 2563f25534d065556b17ee8c0fca957aea61b5ae288a2aa72743e77607843a45c39f209321e0f05b34283a74d2edcf961cf1dc54a35ed0cc21182304bb961505
This commit is contained in:
commit
86f2007193
2 changed files with 33 additions and 11 deletions
13
configure.ac
13
configure.ac
|
@ -645,16 +645,19 @@ case $host in
|
|||
dnl It's safe to add these paths even if the functionality is disabled by
|
||||
dnl the user (--without-wallet or --without-gui for example).
|
||||
|
||||
qt5_prefix=$($BREW --prefix qt5 2>/dev/null)
|
||||
if $BREW list --versions berkeley-db4 >/dev/null && test "x$BDB_CFLAGS" = "x" && test "x$BDB_LIBS" = "x" && test "$use_bdb" != "no"; then
|
||||
if test "x$use_bdb" != xno && $BREW list --versions berkeley-db4 >/dev/null && test "x$BDB_CFLAGS" = "x" && test "x$BDB_LIBS" = "x"; then
|
||||
bdb_prefix=$($BREW --prefix berkeley-db4 2>/dev/null)
|
||||
dnl This must precede the call to BITCOIN_FIND_BDB48 below.
|
||||
BDB_CFLAGS="-I$bdb_prefix/include"
|
||||
BDB_LIBS="-L$bdb_prefix/lib -ldb_cxx-4.8"
|
||||
fi
|
||||
if test x$qt5_prefix != x; then
|
||||
PKG_CONFIG_PATH="$qt5_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
export PKG_CONFIG_PATH
|
||||
|
||||
if test "x$use_sqlite" != xno && $BREW list --versions sqlite3 >/dev/null; then
|
||||
export PKG_CONFIG_PATH="$($BREW --prefix sqlite3 2>/dev/null)/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
fi
|
||||
|
||||
if $BREW list --versions qt5 >/dev/null; then
|
||||
export PKG_CONFIG_PATH="$($BREW --prefix qt5 2>/dev/null)/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
|
|
|
@ -19,7 +19,7 @@ Then install [Homebrew](https://brew.sh).
|
|||
|
||||
## Dependencies
|
||||
```shell
|
||||
brew install automake berkeley-db4 libtool boost miniupnpc pkg-config python qt libevent qrencode sqlite
|
||||
brew install automake libtool boost miniupnpc pkg-config python qt libevent qrencode
|
||||
```
|
||||
|
||||
If you run into issues, check [Homebrew's troubleshooting page](https://docs.brew.sh/Troubleshooting).
|
||||
|
@ -30,7 +30,22 @@ If you want to build the disk image with `make deploy` (.dmg / optional), you ne
|
|||
brew install librsvg
|
||||
```
|
||||
|
||||
## Berkeley DB
|
||||
The wallet support requires one or both of the dependencies ([*SQLite*](#sqlite) and [*Berkeley DB*](#berkeley-db)) in the sections below.
|
||||
To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode).
|
||||
|
||||
#### SQLite
|
||||
|
||||
Usually, macOS installation already has a suitable SQLite installation.
|
||||
Also, the Homebrew package could be installed:
|
||||
|
||||
```shell
|
||||
brew install sqlite
|
||||
```
|
||||
|
||||
In that case the Homebrew package will prevail.
|
||||
|
||||
#### Berkeley DB
|
||||
|
||||
It is recommended to use Berkeley DB 4.8. If you have to build it yourself,
|
||||
you can use [this](/contrib/install_db4.sh) script to install it
|
||||
like so:
|
||||
|
@ -41,7 +56,11 @@ like so:
|
|||
|
||||
from the root of the repository.
|
||||
|
||||
**Note**: You only need Berkeley DB if the wallet is enabled (see [*Disable-wallet mode*](/doc/build-osx.md#disable-wallet-mode)).
|
||||
Also, the Homebrew package could be installed:
|
||||
|
||||
```shell
|
||||
brew install berkeley-db4
|
||||
```
|
||||
|
||||
## Build Bitcoin Core
|
||||
|
||||
|
@ -72,14 +91,14 @@ from the root of the repository.
|
|||
make deploy
|
||||
```
|
||||
|
||||
## `disable-wallet` mode
|
||||
## Disable-wallet mode
|
||||
When the intention is to run only a P2P node without a wallet, Bitcoin Core may be
|
||||
compiled in `disable-wallet` mode with:
|
||||
compiled in disable-wallet mode with:
|
||||
```shell
|
||||
./configure --disable-wallet
|
||||
```
|
||||
|
||||
In this case there is no dependency on Berkeley DB 4.8 and SQLite.
|
||||
In this case there is no dependency on [*Berkeley DB*](#berkeley-db) and [*SQLite*](#sqlite).
|
||||
|
||||
Mining is also possible in disable-wallet mode using the `getblocktemplate` RPC call.
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue