diff options
author | Jaromil <jaromil@dyne.org> | 2011-04-23 11:49:47 +0200 |
---|---|---|
committer | Jaromil <jaromil@dyne.org> | 2011-04-23 12:10:25 +0200 |
commit | 84c3fb07b0b8199c7f85c5de280e7100bad0786f (patch) | |
tree | c259ad219b95fb3d55c685062f2ba226ec0dafe7 /doc/build-unix.txt | |
parent | 64ad448adc67f3c32fe0dfe074c82a8377f67ee7 (diff) |
directory re-organization (keeps the old build system)
there is no internal modification of any file in this commit
files are moved into directories according to established standards in
sourcecode distribution; these directories contain:
src - Files that are used in constructing the executable binaries,
but are not installed.
doc - Files in HTML and text format that document usage, quirks of
the implementation, and contributor checklists.
locale - Files that contain human language translation of strings
used in the program
contrib - Files contributed from distributions or other third party
implementing scripts and auxiliary programs
Diffstat (limited to 'doc/build-unix.txt')
-rw-r--r-- | doc/build-unix.txt | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/doc/build-unix.txt b/doc/build-unix.txt new file mode 100644 index 0000000000..4494c752da --- /dev/null +++ b/doc/build-unix.txt @@ -0,0 +1,107 @@ +Copyright (c) 2009-2010 Satoshi Nakamoto +Distributed under the MIT/X11 software license, see the accompanying +file license.txt or http://www.opensource.org/licenses/mit-license.php. +This product includes software developed by the OpenSSL Project for use in +the OpenSSL Toolkit (http://www.openssl.org/). This product includes +cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP +software written by Thomas Bernard. + + +UNIX BUILD NOTES +================ + +To Build +-------- + +cd src/ + +make -f makefile.unix # Bitcoin with wxWidgets GUI + or +make -f makefile.unix bitcoind # Headless bitcoin + + +Dependencies +------------ +sudo apt-get install build-essential +sudo apt-get install libgtk2.0-dev +sudo apt-get install libssl-dev +sudo apt-get install libdb4.7-dev +sudo apt-get install libdb4.7++-dev +Boost 1.40+: sudo apt-get install libboost-all-dev +or Boost 1.37: sudo apt-get install libboost1.37-dev + +If using Boost 1.37, append -mt to the boost libraries in the makefile. + +Requires wxWidgets 2.9.0 or greater, which uses UTF-8. Don't try 2.8, it +won't work. + +You need to download wxWidgets from http://www.wxwidgets.org/downloads/ +and build it yourself. See the build instructions and configure parameters +below. + +Requires miniupnpc for UPnP port mapping. To compile with UPnP support, +install miniupnpc and compile after setting USE_UPNP. It can be downloaded +from http://miniupnp.tuxfamily.org/files/. + +Licenses of statically linked libraries: +wxWidgets LGPL 2.1 with very liberal exceptions +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 + +Versions used in this release: +GCC 4.3.3 +OpenSSL 0.9.8g +wxWidgets 2.9.0 +Berkeley DB 4.7.25.NC +Boost 1.37 +miniupnpc 1.5 + + +Notes +----- +The UI layout is edited with wxFormBuilder. The project file is +uiproject.fbp. It generates uibase.cpp and uibase.h, which define base +classes that do the rote work of constructing all the UI elements. + +The release is built with GCC and then "strip bitcoin" to strip the debug +symbols, which reduces the executable size by about 90%. + + +wxWidgets +--------- +cd /usr/local +tar -xzvf wxWidgets-2.9.0.tar.gz +cd wxWidgets-2.9.0 +mkdir buildgtk +cd buildgtk +../configure --with-gtk --enable-debug --disable-shared --enable-monolithic +make +sudo su +make install +ldconfig + + +miniupnpc +--------- +tar -xzvf miniupnpc-1.5.tar.gz +cd miniupnpc-1.5 +make +sudo su +make install + + +Berkeley DB +----------- +You need Berkeley DB 4.7. Don't use 4.8, the database/log0000* files +are incompatible. If you have to build Berkeley DB yourself: +../dist/configure --enable-cxx +make + + +Boost +----- +If you need to build Boost yourself: +sudo su +./bootstrap.sh +./bjam install |