Update README.md
[novacoin.git] / build-unix.txt
1 Copyright (c) 2009-2010 Satoshi Nakamoto
2 Distributed under the MIT/X11 software license, see the accompanying
3 file license.txt or http://www.opensource.org/licenses/mit-license.php.
4 This product includes software developed by the OpenSSL Project for use in
5 the OpenSSL Toolkit (http://www.openssl.org/).  This product includes
6 cryptographic software written by Eric Young (eay@cryptsoft.com).
7
8
9 UNIX BUILD NOTES
10 ================
11
12 Dependencies
13 ------------
14 sudo apt-get install build-essential
15 sudo apt-get install libgtk2.0-dev
16 sudo apt-get install libssl-dev
17 sudo apt-get install libdb4.7-dev
18 sudo apt-get install libdb4.7++-dev
19 Boost 1.40+: sudo apt-get install libboost-all-dev
20 or Boost 1.37: sudo apt-get install libboost1.37-dev
21
22 If using Boost 1.37, append -mt to the boost libraries in the makefile.
23
24 We're now using wxWidgets 2.9, which uses UTF-8.  Don't try 2.8, it won't work.
25
26 You need to download wxWidgets from http://www.wxwidgets.org/downloads/
27 and build it yourself.  See the build instructions and configure parameters
28 below.
29
30 Licenses of statically linked libraries:
31 wxWidgets      LGPL 2.1 with very liberal exceptions
32 Berkeley DB    New BSD license with additional requirement that linked software must be free open source
33 Boost          MIT-like license
34
35 Versions used in this release:
36 GCC          4.3.3
37 OpenSSL      0.9.8g
38 wxWidgets    2.9.0
39 Berkeley DB  4.7.25.NC
40 Boost        1.37
41
42
43 Notes
44 -----
45 The UI layout is edited with wxFormBuilder.  The project file is
46 uiproject.fbp.  It generates uibase.cpp and uibase.h, which define base
47 classes that do the rote work of constructing all the UI elements.
48
49 The release is built with GCC and then "strip bitcoin" to strip the debug
50 symbols, which reduces the executable size by about 90%.
51
52
53 wxWidgets
54 ---------
55 cd /usr/local
56 tar -xzvf wxWidgets-2.9.0.tar.gz
57 cd wxWidgets-2.9.0
58 mkdir buildgtk
59 cd buildgtk
60 ../configure --with-gtk --enable-debug --disable-shared --enable-monolithic
61 make
62 sudo su
63 make install
64 ldconfig
65
66
67 Berkeley DB
68 -----------
69 You need Berkeley DB 4.7.  Don't use 4.8, the database/log0000* files
70 are incompatible.  If you have to build Berkeley DB yourself:
71 ../dist/configure --enable-cxx
72 make
73
74
75 Boost
76 -----
77 If you need to build Boost yourself:
78 sudo su
79 ./bootstrap.sh
80 ./bjam install