doc: replace bdb4.8 instructions with bdb5.3

This commit is contained in:
Patrick Lodder 2022-05-09 22:33:16 +02:00
parent 1243e37f13
commit 9c5879322a
No known key found for this signature in database
GPG Key ID: 2D3A345B98D0DC1F
7 changed files with 16 additions and 29 deletions

View File

@ -42,7 +42,7 @@ With wallet:
```bash
./autogen.sh
./configure --with-gui=no \
BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" \
BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-5.3" \
BDB_CFLAGS="-I${BDB_PREFIX}/include" \
MAKE=gmake
```

View File

@ -32,7 +32,7 @@ See [dependencies.md](dependencies.md) for a complete overview.
BerkeleyDB is only necessary for the wallet functionality. To skip this, pass
`--disable-wallet` to `./configure` and skip to the next section.
It is recommended to use Berkeley DB 4.8. You cannot use the BerkeleyDB library
It is recommended to use Berkeley DB 5.3. You cannot use the BerkeleyDB library
from ports, for the same reason as boost above (g++/libstd++ incompatibility).
If you have to build it yourself, you can use [the installation script included
in contrib/](/contrib/install_db5.sh) like so:
@ -58,7 +58,7 @@ With wallet:
LDFLAGS="-L/usr/pkg/lib" \
BOOST_CPPFLAGS="-I/usr/pkg/include" \
BOOST_LDFLAGS="-L/usr/pkg/lib" \
BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" \
BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-5.3" \
BDB_CFLAGS="-I${BDB_PREFIX}/include" \
MAKE=gmake
```

View File

@ -32,7 +32,7 @@ compilers within the same executable will result in errors.
BerkeleyDB is only necessary for the wallet functionality. To skip this, pass
`--disable-wallet` to `./configure` and skip to the next section.
It is recommended to use Berkeley DB 4.8. You cannot use the BerkeleyDB library
It is recommended to use Berkeley DB 5.3. You cannot use the BerkeleyDB library
from ports, for the same reason as boost above (g++/libstd++ incompatibility).
If you have to build it yourself, you can use [the installation script included
in contrib/](/contrib/install_db5.sh) like so:
@ -69,7 +69,7 @@ Make sure `BDB_PREFIX` is set to the appropriate path from the above steps.
To configure with wallet:
```bash
./configure --with-gui=no CC=cc CXX=c++ \
BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" \
BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-5.3" \
BDB_CFLAGS="-I${BDB_PREFIX}/include" \
MAKE=gmake
```
@ -82,7 +82,7 @@ To configure without wallet:
To configure with GUI:
```bash
./configure --with-gui=yes CC=cc CXX=c++ \
BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" \
BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-5.3" \
BDB_CFLAGS="-I${BDB_PREFIX}/include" \
MAKE=gmake
```
@ -112,4 +112,3 @@ If your user is in the `staff` group the limit can be raised with:
The change will only affect the current shell and processes spawned by it. To
make the change system-wide, change `datasize-cur` and `datasize-max` in
`/etc/login.conf`, and reboot.

View File

@ -56,12 +56,6 @@ like so:
from the root of the repository.
Also, the Homebrew package could be installed:
```shell
brew install berkeley-db5
```
## Build Bitcoin Core
1. Clone the Bitcoin Core source code:

View File

@ -85,12 +85,14 @@ Now, you can either build from self-compiled [depends](/depends/README.md) or in
BerkeleyDB is required for the wallet.
Note that if you have Berkeley DB 4.8 packages installed (i.e. for other
wallet software), they are incompatible with the packages for 5.3. You
will have to manually download 5.3 from
http://download.oracle.com/berkeley-db/db-5.3.28.NC.tar.gz and compile
it, install it to /usr/local where the configure script should locate it
automatically.
Note that if you have Berkeley DB 4.8 packages installed (i.e. for other
wallet software), they are incompatible with the packages for 5.3. You
may have to manually install 5.3, for which you can use
[the installation script included in contrib/](/contrib/install_db5.sh), like so:
```shell
./contrib/install_db5.sh `pwd`
```
If you do not care about wallet compatibility, pass `--with-incompatible-bdb` to configure.
@ -273,14 +275,6 @@ This example lists the steps necessary to setup and build a command line only, n
./configure --disable-wallet --without-gui --without-miniupnpc
make check
Note:
Enabling wallet support requires either compiling against a Berkeley DB newer than 5.3 (package `db`) using `--with-incompatible-bdb`,
or building and depending on a local version of Berkeley DB 5.3. The readily available Arch Linux packages are currently built using
`--with-incompatible-bdb` according to the [PKGBUILD](https://projects.archlinux.org/svntogit/community.git/tree/bitcoin/trunk/PKGBUILD).
As mentioned above, when maintaining portability of the wallet between the standard Bitcoin Core distributions and independently built
node software is desired, Berkeley DB 5.3 must be used.
ARM Cross-compilation
-------------------
These steps can be performed on, for example, an Ubuntu VM. The depends system

View File

@ -5,7 +5,7 @@ These are the dependencies currently used by Bitcoin Core. You can find instruct
| Dependency | Version used | Minimum required | CVEs | Shared | [Bundled Qt library](https://doc.qt.io/qt-5/configure-options.html#third-party-libraries) |
| --- | --- | --- | --- | --- | --- |
| Berkeley DB | [4.8.30](https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html) | 4.8.x | No | | |
| Berkeley DB | [5.3.28](https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html) | 5.3.x | No | | |
| Boost | [1.70.0](https://www.boost.org/users/download/) | [1.58.0](https://github.com/bitcoin/bitcoin/pull/19667) | No | | |
| Clang | | [3.3+](https://releases.llvm.org/download.html) (C++11 support) | | | |
| Expat | [2.2.7](https://libexpat.github.io/) | | No | Yes | |

View File

@ -56,7 +56,7 @@ After running `./autogen.sh`, which generates the `./configure` file, use `./con
--without-gui
```
If you do need the wallet enabled, it is common for devs to add `--with-incompatible-bdb`. This uses your system bdb version for the wallet, so you don't have to find a copy of bdb 4.8. Wallets from such a build will be incompatible with any release binary (and vice versa), so use with caution on mainnet.
If you do need the wallet enabled, it is common for devs to add `--with-incompatible-bdb`. This uses your system bdb version for the wallet, so you don't have to find a copy of bdb 5.3. Wallets from such a build will be incompatible with any release binary (and vice versa), so use with caution on mainnet.
### Make use of your threads with `make -j`