From 87f8423a7c55431685297eae77b735c3f35ebb9f Mon Sep 17 00:00:00 2001 From: J Ross Nicoll Date: Wed, 26 Mar 2014 22:21:25 +0000 Subject: [PATCH 1/6] Updated Windows build guide with more realistic set of pre-requisites. Updated libboost version listed in Windows build guide to match UNIX guide. Rewrote libboost installation docs for Windows to match a more conventional process. --- doc/build-msw.md | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/doc/build-msw.md b/doc/build-msw.md index 2f60fd8cb..8845207e6 100644 --- a/doc/build-msw.md +++ b/doc/build-msw.md @@ -16,8 +16,12 @@ Libraries you need to download separately and build: -------------------------------------------------------------------------------------------------------------------- OpenSSL \openssl-1.0.1c-mgw http://www.openssl.org/source/ Berkeley DB \db-4.8.30.NC-mgw http://www.oracle.com/technology/software/products/berkeley-db/index.html - Boost \boost-1.50.0-mgw http://www.boost.org/users/download/ + Boost \boost-1.55.0-mgw http://www.boost.org/users/download/ miniupnpc \miniupnpc-1.6-mgw http://miniupnp.tuxfamily.org/files/ + qt http://download.qt-project.org/official_releases/qt/5.2/5.2.1/ + protobuf http://protobuf.googlecode.com/files/protobuf-2.5.0.zip + libpng http://prdownloads.sourceforge.net/libpng/libpng-1.6.9.tar.gz?download + libqrencode http://fukuchi.org/works/qrencode/qrencode-3.4.3.tar.gz Their licenses: @@ -25,13 +29,21 @@ Their licenses: Berkeley DB New BSD license with additional requirement that linked software must be free open source Boost MIT-like license miniupnpc New (3-clause) BSD license + qt + protobuf + libpng + libqrencode Versions used in this release: OpenSSL 1.0.1c Berkeley DB 4.8.30.NC - Boost 1.50.0 + Boost 1.55.0 miniupnpc 1.6 + qt 4.8.3 + protobuf 2.5.0 + libpng 1.6.9 + libqrencode 3.2.0 OpenSSL @@ -55,11 +67,11 @@ MSYS shell: Boost ----- -MSYS shell: +MS-DOS shell: - downloaded boost jam 3.1.18 - cd \boost-1.50.0-mgw - bjam toolset=gcc --build-type=complete stage + cd boost_1_55_0\ + bootstrap.bat mingw + b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc stage MiniUPnPc --------- From fe5c08d92764878408d47a75d71c52c4302e67f7 Mon Sep 17 00:00:00 2001 From: J Ross Nicoll Date: Thu, 27 Mar 2014 21:04:05 +0000 Subject: [PATCH 2/6] Added details of where include and library files should be installed for Windows build process. --- doc/build-msw.md | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/doc/build-msw.md b/doc/build-msw.md index 8845207e6..a4324523c 100644 --- a/doc/build-msw.md +++ b/doc/build-msw.md @@ -4,13 +4,21 @@ WINDOWS BUILD NOTES Compilers Supported ------------------- -TODO: What works? -Note: releases are cross-compiled using mingw running on Linux. +Compilation under Windows is supported using MinGW (http://www.mingw.org/) Dependencies ------------ -Libraries you need to download separately and build: +To build Dogecoin for Windows, there are number of libraries you need to download +separately and build. Note that, for those used to a Linux/UNIX background, the search +paths for include files is not the conventional UNIX directories, see +http://www.mingw.org/wiki/IncludePathHOWTO for more details. Library files can be placed +in the more conventional /usr/local/lib directory, but see +http://www.mingw.org/wiki/HOWTO_Specify_the_Location_of_Libraries_for_use_with_MinGW in +case of difficulties. + +In both cases, include and library files will need to be placed in the relevant directories +for the build process to succeed. name default path download -------------------------------------------------------------------------------------------------------------------- @@ -65,13 +73,20 @@ MSYS shell: sh ../dist/configure --enable-mingw --enable-cxx make +Include and library files files should then be placed into MinGW search paths, for example: + +Include: C:\MinGW\lib\gcc\mingw32\4.8.1\include\c++\db4.8 +Library: C:\MinGW\lib + Boost ----- -MS-DOS shell: +MSYS shell: - cd boost_1_55_0\ - bootstrap.bat mingw - b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc stage + cd boost_1_55_0/tools/build/v2/engine + ./build.sh mingw + cp bin.ntx86/bjam.exe ../../../../ + cd ../../../../ + bjam --toolset=gcc MiniUPnPc --------- @@ -88,8 +103,8 @@ Dogecoin ------- MSYS shell: - cd \dogecoin - sh autogen.sh - sh configure + dogecoin + ./autogen.sh + configure mingw32-make strip dogecoind.exe From 4712e078086319e5fd76017b18a0c53af0463077 Mon Sep 17 00:00:00 2001 From: J Ross Nicoll Date: Thu, 27 Mar 2014 22:26:34 +0000 Subject: [PATCH 3/6] Corrected configuration line for Dogecoin to one which is likely to work in a MinGW environment. --- doc/build-msw.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/build-msw.md b/doc/build-msw.md index a4324523c..d14e5a2dc 100644 --- a/doc/build-msw.md +++ b/doc/build-msw.md @@ -75,7 +75,7 @@ MSYS shell: Include and library files files should then be placed into MinGW search paths, for example: -Include: C:\MinGW\lib\gcc\mingw32\4.8.1\include\c++\db4.8 +Include: C:\MinGW\lib\gcc\mingw32\4.8.1\include\c++ Library: C:\MinGW\lib Boost @@ -87,6 +87,8 @@ MSYS shell: cp bin.ntx86/bjam.exe ../../../../ cd ../../../../ bjam --toolset=gcc + +In case of problems, http://stackoverflow.com/questions/13256788/building-boost-1-52-with-mingw may be useful MiniUPnPc --------- @@ -105,6 +107,6 @@ MSYS shell: dogecoin ./autogen.sh - configure + BOOST_ROOT=../boost_1_55_0 ./configure --disable-tests mingw32-make strip dogecoind.exe From f6853150598a994f0ce75350e0cd92199207fdcd Mon Sep 17 00:00:00 2001 From: Ross Nicoll Date: Sat, 29 Mar 2014 10:18:27 +0000 Subject: [PATCH 4/6] Added "pkg-config" to dependencies for Ubuntu/Debian environments.. --- doc/build-unix.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/build-unix.md b/doc/build-unix.md index 0060587c7..11f995cf3 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -56,7 +56,7 @@ Dependency Build Instructions: Ubuntu & Debian ---------------------------------------------- Build requirements: - sudo apt-get install build-essential + sudo apt-get install build-essential pkg-config sudo apt-get install libtool autotools-dev autoconf sudo apt-get install libssl-dev From 52d00d02b450fad869837c3742e806905f20d4c4 Mon Sep 17 00:00:00 2001 From: Ian Kelling Date: Tue, 4 Feb 2014 06:48:23 -0800 Subject: [PATCH 5/6] Documentation for Fedora dependency equivalents. --- doc/build-unix.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/doc/build-unix.md b/doc/build-unix.md index 11f995cf3..93aa358ca 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -155,6 +155,24 @@ If you need to build Boost yourself: ./bjam install +Dependency Build Instructions: Fedora +------------------------------------- + +Tested on Fedora 20: + + sudo yum install openssl-devel + sudo yum install miniupnpc-devel + sudo yum install boost-devel + sudo yum install libdb4-cxx-devel + sudo yum install libss-devel + sudo yum install qrencode + +Optional: + + sudo yum install miniupnpc-devel (see USE_UPNP compile flag) + + + Security -------- To help make your bitcoin installation more secure by making certain attacks impossible to From ce3b582cd5fdcd75c8718d161aeb91d04ea9b357 Mon Sep 17 00:00:00 2001 From: Ross Nicoll Date: Sat, 29 Mar 2014 11:14:58 +0000 Subject: [PATCH 6/6] Added build environment pre-requisites for Fedora build instructions. --- doc/build-unix.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/build-unix.md b/doc/build-unix.md index 93aa358ca..45d49a92f 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -160,10 +160,11 @@ Dependency Build Instructions: Fedora Tested on Fedora 20: + sudo yum install autoconf automake make gcc-c++ sudo yum install openssl-devel sudo yum install miniupnpc-devel sudo yum install boost-devel - sudo yum install libdb4-cxx-devel + sudo yum install libdb-cxx-devel sudo yum install libss-devel sudo yum install qrencode