Skip to content

Commit ae749d1

Browse files
committedJan 7, 2021
doc: Add libnatpmp stuff
1 parent e28f9be commit ae749d1

File tree

6 files changed

+24
-10
lines changed

6 files changed

+24
-10
lines changed
 

‎depends/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ The following can be set when running make: `make FOO=bar`
9494
- `NO_BDB`: Don't download/build/cache BerkeleyDB
9595
- `NO_SQLITE`: Don't download/build/cache SQLite
9696
- `NO_UPNP`: Don't download/build/cache packages needed for enabling UPnP
97+
- `NO_NATPMP`: Don't download/build/cache packages needed for enabling NAT-PMP</dd>
9798
- `ALLOW_HOST_PACKAGES`: Packages that are missed in dependencies (due to `NO_*` option or
9899
build script logic) are searched for among the host system packages using
99100
`pkg-config`. It allows building with packages of other (newer) versions

‎doc/build-osx.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Then install [Homebrew](https://brew.sh).
1919

2020
## Dependencies
2121
```shell
22-
brew install automake libtool boost miniupnpc pkg-config python qt libevent qrencode
22+
brew install automake libtool boost miniupnpc libnatpmp pkg-config python qt libevent qrencode
2323
```
2424

2525
If you run into issues, check [Homebrew's troubleshooting page](https://docs.brew.sh/Troubleshooting).

‎doc/build-unix.md

+17-7
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ Optional dependencies:
4141
Library | Purpose | Description
4242
------------|------------------|----------------------
4343
miniupnpc | UPnP Support | Firewall-jumping support
44+
libnatpmp | NAT-PMP Support | Firewall-jumping support
4445
libdb4.8 | Berkeley DB | Optional, wallet storage (only needed when wallet enabled)
4546
qt | GUI | GUI toolkit (only needed when GUI enabled)
4647
libqrencode | QR codes in GUI | Optional for generating QR codes (only needed when GUI enabled)
@@ -99,9 +100,9 @@ SQLite is required for the wallet:
99100
To build Bitcoin Core without wallet, see [*Disable-wallet mode*](/doc/build-unix.md#disable-wallet-mode)
100101

101102

102-
Optional (see `--with-miniupnpc` and `--enable-upnp-default`):
103+
Optional port mapping libraries (see: `--with-miniupnpc`, and `--enable-upnp-default`, `--with-natpmp`, `--enable-natpmp-default`):
103104

104-
sudo apt-get install libminiupnpc-dev
105+
sudo apt install libminiupnpc-dev libnatpmp-dev
105106

106107
ZMQ dependencies (provides ZMQ API):
107108

@@ -133,9 +134,9 @@ Build requirements:
133134

134135
sudo dnf install gcc-c++ libtool make autoconf automake libevent-devel boost-devel libdb4-devel libdb4-cxx-devel python3
135136

136-
Optional (see `--with-miniupnpc` and `--enable-upnp-default`):
137+
Optional port mapping libraries (see: `--with-miniupnpc`, and `--enable-upnp-default`, `--with-natpmp`, `--enable-natpmp-default`):
137138

138-
sudo dnf install miniupnpc-devel
139+
sudo dnf install miniupnpc-devel libnatpmp-devel
139140

140141
ZMQ dependencies (provides ZMQ API):
141142

@@ -158,18 +159,27 @@ Notes
158159
The release is built with GCC and then "strip bitcoind" to strip the debug
159160
symbols, which reduces the executable size by about 90%.
160161

161-
162162
miniupnpc
163163
---------
164164

165165
[miniupnpc](https://miniupnp.tuxfamily.org) may be used for UPnP port mapping. It can be downloaded from [here](
166166
https://miniupnp.tuxfamily.org/files/). UPnP support is compiled in and
167-
turned off by default. See the configure options for upnp behavior desired:
167+
turned off by default. See the configure options for UPnP behavior desired:
168168

169-
--without-miniupnpc No UPnP support miniupnp not required
169+
--without-miniupnpc No UPnP support, miniupnp not required
170170
--disable-upnp-default (the default) UPnP support turned off by default at runtime
171171
--enable-upnp-default UPnP support turned on by default at runtime
172172

173+
libnatpmp
174+
---------
175+
176+
[libnatpmp](https://miniupnp.tuxfamily.org/libnatpmp.html) may be used for NAT-PMP port mapping. It can be downloaded
177+
from [here](https://miniupnp.tuxfamily.org/files/). NAT-PMP support is compiled in and
178+
turned off by default. See the configure options for NAT-PMP behavior desired:
179+
180+
--without-natpmp No NAT-PMP support, libnatpmp not required
181+
--disable-natpmp-default (the default) NAT-PMP support turned off by default at runtime
182+
--enable-natpmp-default NAT-PMP support turned on by default at runtime
173183

174184
Berkeley DB
175185
-----------

‎doc/dependencies.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ These are the dependencies currently used by Bitcoin Core. You can find instruct
1414
| GCC | | [7+](https://gcc.gnu.org/) (C++17 support) | | | |
1515
| HarfBuzz-NG | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk) |
1616
| libevent | [2.1.11-stable](https://github.com/libevent/libevent/releases) | [2.0.21](https://github.com/bitcoin/bitcoin/pull/18676) | No | | |
17+
| libnatpmp | [20150609](https://miniupnp.tuxfamily.org/files) | | No | | |
1718
| libpng | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk) |
1819
| librsvg | | | | | |
1920
| MiniUPnPc | [2.0.20180203](https://miniupnp.tuxfamily.org/files) | | No | | |
@@ -32,7 +33,8 @@ Controlling dependencies
3233
Some dependencies are not needed in all configurations. The following are some factors that affect the dependency list.
3334

3435
#### Options passed to `./configure`
35-
* MiniUPnPc is not needed with `--with-miniupnpc=no`.
36+
* MiniUPnPc is not needed with `--without-miniupnpc`.
37+
* libnatpmp is not needed with `--without-natpmp`.
3638
* Berkeley DB is not needed with `--disable-wallet` or `--without-bdb`.
3739
* SQLite is not needed with `--disable-wallet` or `--without-sqlite`.
3840
* Qt is not needed with `--without-gui`.

‎doc/productivity.md

+1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ After running `./autogen.sh`, which generates the `./configure` file, use `./con
5151

5252
```sh
5353
--without-miniupnpc
54+
--without-natpmp
5455
--disable-bench
5556
--disable-wallet
5657
--without-gui

‎doc/tor.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ as well, use `discover` instead:
9999

100100
./bitcoind ... -discover
101101

102-
and open port 8333 on your firewall (or use -upnp).
102+
and open port 8333 on your firewall (or use port mapping, i.e., `-upnp` or `-natpmp`).
103103

104104
If you only want to use Tor to reach .onion addresses, but not use it as a proxy
105105
for normal IPv4/IPv6 communication, use:

0 commit comments

Comments
 (0)
Please sign in to comment.