mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-08-29 05:53:21 +02:00
autotools: switch to autotools buildsystem
This commit is contained in:
@@ -5,10 +5,12 @@ Some notes on how to build Bitcoin in Unix.
|
||||
To Build
|
||||
---------------------
|
||||
|
||||
cd src/
|
||||
make -f makefile.unix # Headless bitcoin
|
||||
./autogen.sh
|
||||
./configure
|
||||
make
|
||||
|
||||
See [readme-qt.md](readme-qt.md) for instructions on building Bitcoin-Qt, the graphical user interface.
|
||||
This will build bitcoin-qt as well if the dependencies are met.
|
||||
See [readme-qt.md](readme-qt.md) for more information.
|
||||
|
||||
Dependencies
|
||||
---------------------
|
||||
@@ -22,15 +24,15 @@ Dependencies
|
||||
|
||||
[miniupnpc](http://miniupnp.free.fr/) may be used for UPnP port mapping. It can be downloaded from [here](
|
||||
http://miniupnp.tuxfamily.org/files/). UPnP support is compiled in and
|
||||
turned off by default. Set USE_UPNP to a different value to control this:
|
||||
turned off by default. See the configure options for upnp behavior desired:
|
||||
|
||||
USE_UPNP= No UPnP support miniupnp not required
|
||||
USE_UPNP=0 (the default) UPnP support turned off by default at runtime
|
||||
USE_UPNP=1 UPnP support turned on by default at runtime
|
||||
--with-miniupnpc No UPnP support miniupnp not required
|
||||
--disable-upnp-default (the default) UPnP support turned off by default at runtime
|
||||
--enable-upnp-default UPnP support turned on by default at runtime
|
||||
|
||||
IPv6 support may be disabled by setting:
|
||||
|
||||
USE_IPV6=0 Disable IPv6 support
|
||||
--disable-ipv6 Disable IPv6 support
|
||||
|
||||
Licenses of statically linked libraries:
|
||||
Berkeley DB New BSD license with additional requirement that linked
|
||||
@@ -70,7 +72,7 @@ for other Ubuntu & Debian:
|
||||
|
||||
Optional:
|
||||
|
||||
sudo apt-get install libminiupnpc-dev (see USE_UPNP compile flag)
|
||||
sudo apt-get install libminiupnpc-dev (see --with-miniupnpc and --enable-upnp-default)
|
||||
|
||||
|
||||
Dependency Build Instructions: Gentoo
|
||||
@@ -83,8 +85,9 @@ Note: If you just want to install bitcoind on Gentoo, you can add the Bitcoin ov
|
||||
|
||||
Take the following steps to build (no UPnP support):
|
||||
|
||||
cd ${BITCOIN_DIR}/src
|
||||
make -f makefile.unix USE_UPNP= USE_IPV6=1 BDB_INCLUDE_PATH='/usr/include/db4.8'
|
||||
cd ${BITCOIN_DIR}
|
||||
./autogen.sh
|
||||
./configure --without-miniupnpc CXXFLAGS="-i/usr/include/db4.8"
|
||||
strip bitcoind
|
||||
|
||||
|
||||
@@ -123,7 +126,13 @@ If you need to build Boost yourself:
|
||||
Security
|
||||
--------
|
||||
To help make your bitcoin installation more secure by making certain attacks impossible to
|
||||
exploit even if a vulnerability is found, you can take the following measures:
|
||||
exploit even if a vulnerability is found, binaries are hardened by default.
|
||||
This can be disabled with:
|
||||
|
||||
./configure --enable-hardening
|
||||
|
||||
|
||||
Hardening enables the following features:
|
||||
|
||||
* Position Independent Executable
|
||||
Build position independent code to take advantage of Address Space Layout Randomization
|
||||
@@ -135,10 +144,6 @@ exploit even if a vulnerability is found, you can take the following measures:
|
||||
On an Amd64 processor where a library was not compiled with -fPIC, this will cause an error
|
||||
such as: "relocation R_X86_64_32 against `......' can not be used when making a shared object;"
|
||||
|
||||
To build with PIE, use:
|
||||
|
||||
make -f makefile.unix ... -e PIE=1
|
||||
|
||||
To test that you have built PIE executable, install scanelf, part of paxutils, and use:
|
||||
|
||||
scanelf -e ./bitcoin
|
||||
|
Reference in New Issue
Block a user