monotone

monotone Mtn Source Tree

Root/INSTALL

1building and installation process for monotone
2==============================================
3
41. prerequisites:
5
6 * hardware prerequisites:
7
8 - g++ consumes a lot of memory building monotone, due to
9 monotone's liberal use of C++ features. it may be possible to
10 build on a system with 128mb of memory, but not pleasant.
11
12 * software prerequisites:
13
14 - autoconf
15 - automake
16 - gettext
17 - a supported C++ compiler: g++ 3.2 or later
18 - boost 1.33.0 or later: either an installed copy or an extracted
19 tarball of its unbuilt sources somewhere in the file system are
20 supported
21 - zlib 1.1.4 or later
22 - libiconv if the iconv() function is missing
23 - texinfo (to build the documentation)
24 - Botan 1.6.3 or later (Botan might require bzip2, OpenSSL and / or
25 GnuMP in addition, depending on the package you're using.)
26 - PCRE 7.4 or later
27 - SQLite 3.3.8 or later
28 - Lua 5.1
29 - GNU IDN Library
30
31 on Debian and Ubuntu:
32
33 install the following packages:
34 autoconf automake gettext g++ libboost-dev libz-dev
35 libbotan1.7-dev libsqlite3-dev libpcre3-dev liblua5.1-0-dev
36 libidn11-dev libgmp3-dev libbz2-dev texinfo
37
38 (monotone works with older and newer Botan versions as well,
39 so libbotan1.6-dev or libbotan1.8-dev are also good to go.)
40
41 on FreeBSD:
42
43 install the following packages from the ports collection:
44 databases/sqlite3 devel/automake1.9 devel/boost devel/gettext
45 devel/gmake devel/pcre lang/lua security/botan dns/libidn
46
47 on OpenBSD:
48
49 install the following packages using 'pkg_add':
50 autoconf automake boost botan gmake libiconv libidn lua
51 pcre sqlite3
52
53 on Gentoo:
54
55 emerge the following packages:
56 autoconf automake boost botan gettext libpcre libidn lua sqlite
57 zlib
58
59 on Fedora:
60
61 install the following packages:
62 autoconf automake gettext boost boost-devel zlib zlib-devel
63 lua lua-devel pcre pcre-devel sqlite sqlite-devel libidn
64 libidn-devel gcc-c++ texinfo texinfo-tex botan botan-devel
65
66 on openSUSE:
67
68 install the following extra packages with YaST or zypper:
69 autoconf automake gettext-tools gcc-c++ boost-devel zlib-devel
70 libbotan-devel sqlite3-devel pcre-devel lua-devel libidn-devel
71 libbz2-devel texinfo make
72
73 on Mac OS X:
74
75 use MacPorts (http://www.macports.org) to install the following
76 packages:
77 autoconf automake gettext boost zlib lua pcre botan
78 sqlite3 libidn libiconv texinfo
79
80 monotone only uses header-only libraries from boost, so if you don't
81 like to spend a lot of time building boost via MacPorts, you can also
82 download and extract it manually and let CXXFLAGS point to the
83 include/ directory of the extracted version.
84
85 on Windows (using MinGW): see INSTALL_windows_native
86
87 on Windows (using Cygwin): see INSTALL_windows_cygwin
88
89 on other systems:
90
91 check your system package repository, you may need to
92 build some of these from source. if your package repository
93 does not contain the libraries, see:
94
95 http://gcc.gnu.org/ for g++
96 http://www.boost.org/ for Boost
97 http://www.pcre.org/ for PCRE
98 http://www.lua.org/ for Lua
99 http://www.sqlite.org/ for SQLite
100 http://botan.randombit.net/ for Botan
101 http://www.gnu.org/software/libidn/ for GNU IDN
102
1031.1 using boost in the build process:
104
105 monotone uses the boost libraries in multiple parts of its code.
106 fortunately, it only uses the so-called header-only libraries: these
107 can be used very easily from other projects, as there is no need to
108 build them by hand prior usage.
109
110 therefore you can use an installed version of boost if shipped with your
111 distribution but, if you do not want to mess with the Boost.Build build
112 system (which is hard to deal with for beginners), you can simply use an
113 extracted copy of the boost sources. the two procedures are detailed
114 below:
115
116 * if your system already has the boost development libraries installed,
117 you must tell the compiler where to find them. their location will
118 usually be somewhere under /usr/include. try the following command:
119
120 ls -d /usr/include/boost*
121
122 if the command shows a single directory named 'boost', you do not have
123 to take any extra steps. configure will automatically find the
124 necessary files. instead, if the command shows a directory name of the
125 form boost_1_33_1, boost-1.33.1 or similar, you will have to pass that
126 to the configure script. do so as follows:
127
128 ./configure CPPFLAGS="-I/usr/include/boost-1.33.1"
129
130 if no directories are shown, look for prebuilt boost packages for your
131 system and install them. if there aren't any, resort to the procedure
132 described in the following point.
133
134 * if you do not have boost already installed, and you cannot easily
135 install it from prebuilt packages, fetch a copy of the boost sources
136 from their site (see previous section) and unpack them somewhere in
137 your system -- for example, your home directory. once done, tell the
138 configure script where the files are:
139
140 ./configure CPPFLAGS="-I${HOME}/boost-1.33.1"
141
142 it is important to note that, once monotone is built, you can get rid of
143 all the boost sources or boost development packages from your system.
144 the required header-only libraries will have been built into the final
145 binary, which will not rely on any binary boost library. in some sense,
146 you can think of it as static linkage.
147
1482. configuring monotone:
149
150 * if there is no ./configure script in your source tree you'll need
151 to create one before proceeding to the next step. one of the
152 following auto* commands should work:
153
154 $ aclocal-1.9 && autoreconf --install
155 $ AUTOMAKE=automake-1.9 ACLOCAL=aclocal-1.9 autoreconf --install
156
157 If this fails early, check that you have gettext packages installed.
158
159 * type "./configure" for a basic configuration of monotone. several
160 configuration options are available; type "configure --help" for a
161 list of all of them. some special options are shown here:
162
163 --enable-ipv6[=auto|no|yes]
164
165 specify whether IPv6 support has to be enabled or disabled. the
166 default is to try automatic detection (auto) and use the guessed
167 results. however, you can force IPv6 detection by saying 'yes'
168 or completely disable it using 'no'.
169
170 --disable-nls
171
172 build a version of monotone without support for local message
173 catalogs. you might like to do this if you do not have a
174 working installation of GNU gettext.
175
176 --enable-pch
177
178 this will enable precompiled headers, which should improve compile
179 time. some versions of gcc have problems with this option, so
180 try disabling it if you run into trouble.
181
1823. building monotone
183
184 * type "make" to invoke GNU make (please notice it might be named
185 "gmake" on systems where system make is not GNU make).
186 this should produce a mtn binary in your current directory.
187 if not, please send a build log to
188 monotone-devel@nongnu.org with a description of the failure.
189
1904. testing monotone
191
192 * there is a "make check" target which you can try, if you'd like to
193 confirm monotone's functionality on your system.
194 Do not run "make check" as root (Unix)! Doing so will cause the
195 failure of some of the tests!
196 Also, make sure your testing process has enough memory. Experience
197 has shown that some tests may fail "mysteriously" when there is too
198 little memory. A possible hint is that 128MB was too little on
199 FreeBSD 6 on x86 while 256MB was enough.
200
201 You might also like to try fetching monotone's sources from our
202 monotone server. this process will transfer the complete development
203 history to your database, and you will then be free to share it with
204 others or make changes and submit them to us:
205
206 mtn clone 'mtn://code.monotone.ca/monotone?net.venge.monotone'
207
2085. upgrading
209
210 * if you have an existing monotone installation, you may need to
211 perform some additional steps to migrate your data to the newest
212 version; see the file UPGRADE for details.
213

Archive Download this file

Branches

Tags

Quick Links:     www.monotone.ca    -     Downloads    -     Documentation    -     Wiki    -     Code Forge    -     Build Status