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