From 781347f5a357f6043330882adb0d33fa3476ca57 Mon Sep 17 00:00:00 2001 From: flack Date: Sun, 9 Jul 2017 13:15:45 +0200 Subject: [PATCH 1/3] Create dependencies.md --- doc/dependencies.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 doc/dependencies.md diff --git a/doc/dependencies.md b/doc/dependencies.md new file mode 100644 index 00000000000..0480f6ccb94 --- /dev/null +++ b/doc/dependencies.md @@ -0,0 +1,36 @@ +Dependencies +============ + +| Dependency | Version used | Minimum Required | Latest available | CVEs? | Shared | [Bundled Qt Library](https://doc.qt.io/qt-5/configure-options.html) | +| --- | --- | --- | --- | --- | --- | --- | +| openssl | 1.0.1k | | [1.0.1u](https://www.openssl.org/source) | Yes | | | +| ccache | 3.3.4 | | [3.3.4](https://ccache.samba.org/download.html) | No | | | +| libevent | 2.1.8-stable | 2.0.22 | [2.1.8-stable](https://github.com/libevent/libevent/releases) | No | | | +| Qt | 5.7.1 | 4.7+ | [5.9.1](https://download.qt.io/official_releases/qt/) | No | | | +| Freetype | 2.7.1 | | [2.8](http://download.savannah.gnu.org/releases/freetype) | No | | | +| Boost | 1.64.0 | [1.47.0](https://github.com/bitcoin/bitcoin/pull/8920) | [1.64.0](http://www.boost.org/users/download/) | No | | | +| Protobuf | 2.6.3 | | [3.3.2](https://github.com/google/protobuf/releases) | No | | | +| Zeromq | 4.1.5 | | [4.2.2](https://github.com/zeromq/libzmq/releases) | No | | | +| miniupnpc | 2.0.20170509 | | [2.0.20170509](http://miniupnp.free.fr/files) | No | | | +| qrencode | 3.4.4 | | [3.4.4](https://fukuchi.org/works/qrencode) | No | | | +| berkeley-db | 4.8.30 | 4.8.x | [6.2.32](http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html) | No | | | +| dbus | 1.10.18 | | [1.10.20](https://cgit.freedesktop.org/dbus/dbus/tree/NEWS?h=dbus-1.10) | No | yes | | +| expat | 2.2.1 | | [2.2.1](https://libexpat.github.io/) | No | yes | | +| fontconfig | 2.12.1 | | [2.12.4](https://www.freedesktop.org/software/fontconfig/release/) | No | yes | | +| freetype | | | | | | [no](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L38) (linux uses system) | +| zlib | 1.2.11 | | [1.2.11](http://zlib.net/) | | | no | +| libjpeg | | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L75) | +| libpng | | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L74) | +| PCRE | | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L76) | +| xcb | | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L94) (linux only) | +| xkbcommon | | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L93) (linux only) | +| HarfBuzz-NG | | | | | | ? | +| Python (tests) | | 3.4 | [3.6.1](https://www.python.org/downloads) | | | | +| GCC | | 4.7+ | [7.1](https://gcc.gnu.org/) | | | | +| Clang | | 3.3+ (c++11 support) | [4.0.1](http://llvm.org/releases/download.html) | | | | + +### CVEs + +#### OpenSSL 1.0.1k + +[CVE-2015-0286](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0286), [CVE-2015-0287](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0287), [CVE-2015-0289](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0289), [CVE-2015-0293](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0293), [CVE-2015-0209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0209), [CVE-2015-0288](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0288), [CVE-2015-1788](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1788), [CVE-2015-1789](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1789), [CVE-2015-1790](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1790), [CVE-2015-1792](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1792), [CVE-2015-1791](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1791), [CVE-2015-1793](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1793), [CVE-2015-3196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3196), [CVE-2015-3194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3194), [CVE-2015-3195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3195), [CVE-2015-3197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3197), [CVE-2016-0800](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0800), [CVE-2016-0705](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0705), [CVE-2016-0798](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0798), [CVE-2016-0797](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0797), [CVE-2016-0799](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0799), [CVE-2016-0702](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0702), [CVE-2016-2107](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2107), [CVE-2016-2105](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2105), [CVE-2016-2106](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2106), [CVE-2016-2108](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2108), [CVE-2016-2109](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2109), [CVE-2016-2176](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2176), [CVE-2016-2177](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2177), [CVE-2016-2178](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2178), [CVE-2016-2179](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2179), [CVE-2016-2180](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2180), [CVE-2016-2181](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2181), [CVE-2016-2182](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2182), [CVE-2016-6302](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6302), [CVE-2016-6303](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6303), [CVE-2016-6304](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6304), [CVE-2016-6306](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6306) From f5dcfb63eaccd4c7bcee6516e9647f75c262557b Mon Sep 17 00:00:00 2001 From: flack Date: Fri, 14 Jul 2017 19:52:38 +0200 Subject: [PATCH 2/3] Add small intro sentence, and link dependencies file from README & build docs --- doc/README.md | 1 + doc/build-openbsd.md | 4 ++-- doc/build-osx.md | 2 ++ doc/build-unix.md | 2 +- doc/build-windows.md | 2 ++ doc/dependencies.md | 2 ++ 6 files changed, 10 insertions(+), 3 deletions(-) diff --git a/doc/README.md b/doc/README.md index 275ae67e54d..988019869e4 100644 --- a/doc/README.md +++ b/doc/README.md @@ -37,6 +37,7 @@ Building --------------------- The following are developer notes on how to build Bitcoin on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc. +- [Dependencies](dependencies.md) - [OS X Build Notes](build-osx.md) - [Unix Build Notes](build-unix.md) - [Windows Build Notes](build-windows.md) diff --git a/doc/build-openbsd.md b/doc/build-openbsd.md index f4a9826d807..dc1ba6e1152 100644 --- a/doc/build-openbsd.md +++ b/doc/build-openbsd.md @@ -18,12 +18,12 @@ pkg_add automake # (select highest version, e.g. 1.15) pkg_add python # (select highest version, e.g. 3.5) ``` -The default C++ compiler that comes with OpenBSD 5.9 is g++ 4.2. This version is old (from 2007), and is not able to compile the current version of Bitcoin Core, primarily as it has no C++11 support, but even before there were issues. So here we will be installing a newer compiler. +See [dependencies.md](dependencies.md) for a complete overview. GCC ------- -You can install a newer version of gcc with: +The default C++ compiler that comes with OpenBSD 5.9 is g++ 4.2. This version is old (from 2007), and is not able to compile the current version of Bitcoin Core, primarily as it has no C++11 support, but even before there were issues. So here we will be installing a newer compiler: ```bash pkg_add g++ # (select newest 4.x version, e.g. 4.9.3) diff --git a/doc/build-osx.md b/doc/build-osx.md index 32d7dbd69e7..86c8f225556 100644 --- a/doc/build-osx.md +++ b/doc/build-osx.md @@ -18,6 +18,8 @@ Dependencies brew install automake berkeley-db4 libtool boost --c++11 miniupnpc openssl pkg-config protobuf qt libevent +See [dependencies.md](dependencies.md) for a complete overview. + If you want to build the disk image with `make deploy` (.dmg / optional), you need RSVG brew install librsvg diff --git a/doc/build-unix.md b/doc/build-unix.md index b7eae2a630a..5d281c6ae2f 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -49,7 +49,7 @@ Optional dependencies: univalue | Utility | JSON parsing and encoding (bundled version will be used unless --with-system-univalue passed to configure) libzmq3 | ZMQ notification | Optional, allows generating ZMQ notifications (requires ZMQ version >= 4.x) -For the versions used in the release, see [release-process.md](release-process.md) under *Fetch and build inputs*. +For the versions used, see [dependencies.md](dependencies.md) Memory Requirements -------------------- diff --git a/doc/build-windows.md b/doc/build-windows.md index 9549a4b9da0..2b1e0b5ae7a 100644 --- a/doc/build-windows.md +++ b/doc/build-windows.md @@ -59,6 +59,8 @@ A host toolchain (`build-essential`) is necessary because some dependency packages (such as `protobuf`) need to build host utilities that are used in the build process. +See also: [dependencies.md](dependencies.md). + ## Building for 64-bit Windows To build executables for Windows 64-bit, install the following dependencies: diff --git a/doc/dependencies.md b/doc/dependencies.md index 0480f6ccb94..09c1e484eb5 100644 --- a/doc/dependencies.md +++ b/doc/dependencies.md @@ -1,6 +1,8 @@ Dependencies ============ +These are the dependencies currently used by Bitcoin Core. You can find instructions for installing them in the `build-*.md` file for your platform. + | Dependency | Version used | Minimum Required | Latest available | CVEs? | Shared | [Bundled Qt Library](https://doc.qt.io/qt-5/configure-options.html) | | --- | --- | --- | --- | --- | --- | --- | | openssl | 1.0.1k | | [1.0.1u](https://www.openssl.org/source) | Yes | | | From a4b2c7b29d49a3d5f087fb514e026ccba69c82f1 Mon Sep 17 00:00:00 2001 From: flack Date: Wed, 26 Jul 2017 20:38:02 +0200 Subject: [PATCH 3/3] Remove latest version column, since that might get a bit tedious to maintain over time --- doc/dependencies.md | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/doc/dependencies.md b/doc/dependencies.md index 09c1e484eb5..926aac9a7bb 100644 --- a/doc/dependencies.md +++ b/doc/dependencies.md @@ -3,33 +3,33 @@ Dependencies These are the dependencies currently used by Bitcoin Core. You can find instructions for installing them in the `build-*.md` file for your platform. -| Dependency | Version used | Minimum Required | Latest available | CVEs? | Shared | [Bundled Qt Library](https://doc.qt.io/qt-5/configure-options.html) | +| Dependency | Version used | Minimum Required | CVEs? | Shared | [Bundled Qt Library](https://doc.qt.io/qt-5/configure-options.html) | | --- | --- | --- | --- | --- | --- | --- | -| openssl | 1.0.1k | | [1.0.1u](https://www.openssl.org/source) | Yes | | | -| ccache | 3.3.4 | | [3.3.4](https://ccache.samba.org/download.html) | No | | | -| libevent | 2.1.8-stable | 2.0.22 | [2.1.8-stable](https://github.com/libevent/libevent/releases) | No | | | -| Qt | 5.7.1 | 4.7+ | [5.9.1](https://download.qt.io/official_releases/qt/) | No | | | -| Freetype | 2.7.1 | | [2.8](http://download.savannah.gnu.org/releases/freetype) | No | | | -| Boost | 1.64.0 | [1.47.0](https://github.com/bitcoin/bitcoin/pull/8920) | [1.64.0](http://www.boost.org/users/download/) | No | | | -| Protobuf | 2.6.3 | | [3.3.2](https://github.com/google/protobuf/releases) | No | | | -| Zeromq | 4.1.5 | | [4.2.2](https://github.com/zeromq/libzmq/releases) | No | | | -| miniupnpc | 2.0.20170509 | | [2.0.20170509](http://miniupnp.free.fr/files) | No | | | -| qrencode | 3.4.4 | | [3.4.4](https://fukuchi.org/works/qrencode) | No | | | -| berkeley-db | 4.8.30 | 4.8.x | [6.2.32](http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html) | No | | | -| dbus | 1.10.18 | | [1.10.20](https://cgit.freedesktop.org/dbus/dbus/tree/NEWS?h=dbus-1.10) | No | yes | | -| expat | 2.2.1 | | [2.2.1](https://libexpat.github.io/) | No | yes | | -| fontconfig | 2.12.1 | | [2.12.4](https://www.freedesktop.org/software/fontconfig/release/) | No | yes | | -| freetype | | | | | | [no](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L38) (linux uses system) | -| zlib | 1.2.11 | | [1.2.11](http://zlib.net/) | | | no | -| libjpeg | | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L75) | -| libpng | | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L74) | -| PCRE | | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L76) | -| xcb | | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L94) (linux only) | -| xkbcommon | | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L93) (linux only) | -| HarfBuzz-NG | | | | | | ? | -| Python (tests) | | 3.4 | [3.6.1](https://www.python.org/downloads) | | | | -| GCC | | 4.7+ | [7.1](https://gcc.gnu.org/) | | | | -| Clang | | 3.3+ (c++11 support) | [4.0.1](http://llvm.org/releases/download.html) | | | | +| openssl | [1.0.1k]](https://www.openssl.org/source) | | Yes | | | +| ccache | [3.3.4](https://ccache.samba.org/download.html) | | No | | | +| libevent | [2.1.8-stable](https://github.com/libevent/libevent/releases) | 2.0.22 | No | | | +| Qt | [5.7.1](https://download.qt.io/official_releases/qt/) | 4.7+ | No | | | +| Freetype | [2.7.1](http://download.savannah.gnu.org/releases/freetype) | | No | | | +| Boost | [1.64.0](http://www.boost.org/users/download/) | [1.47.0](https://github.com/bitcoin/bitcoin/pull/8920) | No | | | +| Protobuf | [2.6.3](https://github.com/google/protobuf/releases) | | No | | | +| Zeromq | [4.1.5](https://github.com/zeromq/libzmq/releases) | | No | | | +| miniupnpc | [2.0.20170509](http://miniupnp.free.fr/files) | | No | | | +| qrencode | [3.4.4](https://fukuchi.org/works/qrencode) | | No | | | +| berkeley-db | [4.8.30](http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html) | 4.8.x | No | | | +| dbus | [1.10.18](https://cgit.freedesktop.org/dbus/dbus/tree/NEWS?h=dbus-1.10) | | No | yes | | +| expat | [2.2.1](https://libexpat.github.io/) | | No | yes | | +| fontconfig | [2.12.1](https://www.freedesktop.org/software/fontconfig/release/) | | No | yes | | +| freetype | | | | | [no](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L38) (linux uses system) | +| zlib | [1.2.11](http://zlib.net/) | | | | no | +| libjpeg | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L75) | +| libpng | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L74) | +| PCRE | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L76) | +| xcb | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L94) (linux only) | +| xkbcommon | | | | | [yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L93) (linux only) | +| HarfBuzz-NG | | | | | ? | +| Python (tests) | | [3.4](https://www.python.org/downloads) | | | | +| GCC | | [4.7+](https://gcc.gnu.org/) | | | | +| Clang | | [3.3+](http://llvm.org/releases/download.html) (C++11 support) | | | | ### CVEs