diff options
Diffstat (limited to 'INSTALL.md')
-rw-r--r-- | INSTALL.md | 226 |
1 files changed, 168 insertions, 58 deletions
@@ -7,6 +7,14 @@ | |||
7 | - [Non-Homebrew](#non-homebrew) | 7 | - [Non-Homebrew](#non-homebrew) |
8 | - [Windows](#windows) | 8 | - [Windows](#windows) |
9 | 9 | ||
10 | - [Additional](#additional) | ||
11 | - [Advanced configure options] (#aconf) | ||
12 | - [A/V support](#av) | ||
13 | - [libtoxav] (#libtoxav) | ||
14 | - [Test phone] (#phone) | ||
15 | - [Bootstrap daemon] (#bootstrapd) | ||
16 | - [nTox] (#ntox) | ||
17 | |||
10 | <a name="installation" /> | 18 | <a name="installation" /> |
11 | ##Installation | 19 | ##Installation |
12 | 20 | ||
@@ -20,18 +28,14 @@ Note: package fetching commands may vary by OS. | |||
20 | On Ubuntu: | 28 | On Ubuntu: |
21 | 29 | ||
22 | ```bash | 30 | ```bash |
23 | sudo apt-get install build-essential libtool autotools-dev automake libconfig-dev ncurses-dev checkinstall check git libswscale-dev libsdl-dev libopenal-dev libopus-dev libvpx-dev yasm | 31 | sudo apt-get install build-essential libtool autotools-dev automake checkinstall check git yasm |
24 | ``` | ||
25 | If you get the "Unable to locate package libopus-dev" message, add the following ppa | ||
26 | ```bash | ||
27 | sudo add-apt-repository ppa:ubuntu-sdk-team/ppa && sudo apt-get update && sudo apt-get dist-upgrade | ||
28 | ``` | 32 | ``` |
29 | 33 | ||
30 | On Fedora: | 34 | On Fedora: |
31 | 35 | ||
32 | ```bash | 36 | ```bash |
33 | yum groupinstall "Development Tools" | 37 | yum groupinstall "Development Tools" |
34 | yum install libtool autoconf automake libconfig-devel ncurses-devel check check-devel | 38 | yum install libtool autoconf automake check check-devel |
35 | ``` | 39 | ``` |
36 | 40 | ||
37 | On SunOS: | 41 | On SunOS: |
@@ -73,22 +77,13 @@ make check | |||
73 | sudo make install | 77 | sudo make install |
74 | cd .. | 78 | cd .. |
75 | ``` | 79 | ``` |
80 | |||
76 | If your default prefix is /usr/local and you happen to get an error that says "error while loading shared libraries: libtoxcore.so.0: cannot open shared object file: No such file or directory", then you can try running ```sudo ldconfig```. If that doesn't fix it, run: | 81 | If your default prefix is /usr/local and you happen to get an error that says "error while loading shared libraries: libtoxcore.so.0: cannot open shared object file: No such file or directory", then you can try running ```sudo ldconfig```. If that doesn't fix it, run: |
77 | ``` | 82 | ``` |
78 | echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf | 83 | echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf |
79 | sudo ldconfig | 84 | sudo ldconfig |
80 | ``` | 85 | ``` |
81 | 86 | ||
82 | You also need recent [FFmpeg](https://git.videolan.org/?p=ffmpeg.git) libraries: | ||
83 | ```bash | ||
84 | git clone git://source.ffmpeg.org/ffmpeg.git | ||
85 | cd ffmpeg | ||
86 | git checkout n2.0.2 | ||
87 | ./configure --prefix=`pwd`/install --disable-programs | ||
88 | make && make install | ||
89 | cd .. | ||
90 | ``` | ||
91 | |||
92 | Then clone this repo and generate makefile: | 87 | Then clone this repo and generate makefile: |
93 | ```bash | 88 | ```bash |
94 | git clone git://github.com/irungentoo/ProjectTox-Core.git | 89 | git clone git://github.com/irungentoo/ProjectTox-Core.git |
@@ -98,17 +93,7 @@ autoreconf -i | |||
98 | make | 93 | make |
99 | sudo make install | 94 | sudo make install |
100 | ``` | 95 | ``` |
101 | Advance configure options: | 96 | |
102 | - --prefix=/where/to/install | ||
103 | - --with-libsodium-headers=/path/to/libsodium/include/ | ||
104 | - --with-libsodium-libs=/path/to/sodiumtest/lib/ | ||
105 | - --enable-silent-rules less verbose build output (undo: "make V=1") | ||
106 | - --disable-silent-rules verbose build output (undo: "make V=0") | ||
107 | - --disable-tests build unit tests (default: auto) | ||
108 | - --disable-ntox build nTox client (default: auto) | ||
109 | - --disable-dht-bootstrap-daemon build DHT bootstrap daemon (default: auto) | ||
110 | - --enable-shared[=PKGS] build shared libraries [default=yes] | ||
111 | - --enable-static[=PKGS] build static libraries [default=yes] | ||
112 | 97 | ||
113 | <a name="osx" /> | 98 | <a name="osx" /> |
114 | ###OS X: | 99 | ###OS X: |
@@ -153,17 +138,6 @@ make | |||
153 | make install | 138 | make install |
154 | ``` | 139 | ``` |
155 | 140 | ||
156 | Advance configure options: | ||
157 | - --prefix=/where/to/install | ||
158 | - --with-libsodium-headers=/path/to/libsodium/include/ | ||
159 | - --with-libsodium-libs=/path/to/sodiumtest/lib/ | ||
160 | - --enable-silent-rules less verbose build output (undo: "make V=1") | ||
161 | - --disable-silent-rules verbose build output (undo: "make V=0") | ||
162 | - --disable-tests build unit tests (default: auto) | ||
163 | - --disable-ntox build nTox client (default: auto) | ||
164 | - --disable-dht-bootstrap-daemon build DHT bootstrap daemon (default: auto) | ||
165 | - --enable-shared[=PKGS] build shared libraries [default=yes] | ||
166 | - --enable-static[=PKGS] build static libraries [default=yes] | ||
167 | 141 | ||
168 | <a name="non-homebrew" /> | 142 | <a name="non-homebrew" /> |
169 | ####Non-homebrew: | 143 | ####Non-homebrew: |
@@ -173,7 +147,6 @@ Grab the following packages: | |||
173 | * https://gnu.org/software/autoconf/ | 147 | * https://gnu.org/software/autoconf/ |
174 | * https://gnu.org/software/automake/ | 148 | * https://gnu.org/software/automake/ |
175 | * https://github.com/jedisct1/libsodium | 149 | * https://github.com/jedisct1/libsodium |
176 | * http://www.hyperrealm.com/libconfig/ | ||
177 | * http://check.sourceforge.net/ | 150 | * http://check.sourceforge.net/ |
178 | 151 | ||
179 | Uncompress and install them all. Make sure to follow the README as the instructions change, but they all follow the same pattern below: | 152 | Uncompress and install them all. Make sure to follow the README as the instructions change, but they all follow the same pattern below: |
@@ -186,7 +159,7 @@ sudo make install | |||
186 | 159 | ||
187 | In your local TOX repository: | 160 | In your local TOX repository: |
188 | 161 | ||
189 | Then generate the makefile: | 162 | Then generate makefile, build and install tox: |
190 | ```bash | 163 | ```bash |
191 | cd ProjectTox-Core | 164 | cd ProjectTox-Core |
192 | autoreconf -i | 165 | autoreconf -i |
@@ -194,22 +167,11 @@ autoreconf -i | |||
194 | make | 167 | make |
195 | make install | 168 | make install |
196 | ``` | 169 | ``` |
197 | Advance configure options: | ||
198 | - --prefix=/where/to/install | ||
199 | - --with-libsodium-headers=/path/to/libsodium/include/ | ||
200 | - --with-libsodium-libs=/path/to/sodiumtest/lib/ | ||
201 | - --enable-silent-rules less verbose build output (undo: "make V=1") | ||
202 | - --disable-silent-rules verbose build output (undo: "make V=0") | ||
203 | - --disable-tests build unit tests (default: auto) | ||
204 | - --disable-ntox build nTox client (default: auto) | ||
205 | - --disable-dht-bootstrap-daemon build DHT bootstrap daemon (default: auto) | ||
206 | - --enable-shared[=PKGS] build shared libraries [default=yes] | ||
207 | - --enable-static[=PKGS] build static libraries [default=yes] | ||
208 | 170 | ||
209 | Do not install them from macports (or any dependencies for that matter) as they get shoved in the wrong directory | 171 | Do not install them from macports (or any dependencies for that matter) as they get shoved in the wrong directory |
210 | (or the wrong version gets installed) and make your life more annoying. | 172 | (or the wrong version gets installed) and make your life more annoying. |
211 | 173 | ||
212 | Another thing you may want to install is the latest gcc, this caused me a few problems as XCode from 4.3 | 174 | Another thing: you may want to install is the latest gcc. This caused me a few problems as XCode from 4.3 |
213 | no longer includes gcc and instead uses LLVM-GCC, a nice install guide can be found at | 175 | no longer includes gcc and instead uses LLVM-GCC, a nice install guide can be found at |
214 | http://caiustheory.com/install-gcc-421-apple-build-56663-with-xcode-42 | 176 | http://caiustheory.com/install-gcc-421-apple-build-56663-with-xcode-42 |
215 | 177 | ||
@@ -246,18 +208,166 @@ autoreconf -i | |||
246 | make | 208 | make |
247 | make install | 209 | make install |
248 | ``` | 210 | ``` |
249 | Advance configure options: | 211 | |
212 | <a name="Clients" /> | ||
213 | ####Clients: | ||
214 | While [Toxic](https://github.com/tox/toxic) is no longer in core, a list of Tox clients are located in our [wiki](http://wiki.tox.im/client) | ||
215 | |||
216 | |||
217 | |||
218 | |||
219 | |||
220 | <a name="additional" /> | ||
221 | ##Additional | ||
222 | |||
223 | |||
224 | |||
225 | <a name="aconf" /> | ||
226 | ###Advanced configure options: | ||
227 | |||
250 | - --prefix=/where/to/install | 228 | - --prefix=/where/to/install |
251 | - --with-libsodium-headers=/path/to/libsodium/include/ | 229 | - --with-libsodium-headers=/path/to/libsodium/include/ |
252 | - --with-libsodium-libs=/path/to/sodiumtest/lib/ | 230 | - --with-libsodium-libs=/path/to/sodiumtest/lib/ |
253 | - --enable-silent-rules less verbose build output (undo: "make V=1") | 231 | - --enable-silent-rules less verbose build output (undo: "make V=1") |
254 | - --disable-silent-rules verbose build output (undo: "make V=0") | 232 | - --disable-silent-rules verbose build output (undo: "make V=0") |
255 | - --disable-tests build unit tests (default: auto) | 233 | - --disable-tests build unit tests (default: auto) |
256 | - --disable-ntox build nTox client (default: auto) | 234 | - --disable-av disable A/V support (default: auto) see: [libtoxav](#libtoxav) |
257 | - --disable-dht-bootstrap-daemon build DHT bootstrap daemon (default: auto) | 235 | - --enable-phone build phone (default: no) see: [Test phone](#phone) |
236 | - --enable-ntox build nTox client (default: no) see: [nTox](#ntox) | ||
237 | - --enable-daemon build DHT bootstrap daemon (default: no) see: [Bootstrap daemon](#bootstrapd) | ||
258 | - --enable-shared[=PKGS] build shared libraries [default=yes] | 238 | - --enable-shared[=PKGS] build shared libraries [default=yes] |
259 | - --enable-static[=PKGS] build static libraries [default=yes] | 239 | - --enable-static[=PKGS] build static libraries [default=yes] |
260 | 240 | ||
261 | <a name="Clients" /> | 241 | |
262 | ####Clients: | 242 | <a name="av" /> |
263 | While [Toxic](https://github.com/tox/toxic) is no longer in core, a list of Tox clients are located in our [wiki](http://wiki.tox.im/client) | 243 | ###A/V support: |
244 | |||
245 | <a name="libtoxav" /> | ||
246 | ####libtoxav: | ||
247 | |||
248 | 'libtoxav' is needed for A/V support and it's enabled by default. You can disable it by adding --disable-av argument to ./configure script like so: | ||
249 | ```bash | ||
250 | ./configure --disable-av | ||
251 | ``` | ||
252 | |||
253 | There are 2 dependencies required for libtoxav: libopus and libvpx. If they are not installed A/V support is dropped. | ||
254 | |||
255 | Install on fedora: | ||
256 | ```bash | ||
257 | yum install libopus-devel libvpx-devel | ||
258 | ``` | ||
259 | |||
260 | Install on ubuntu: | ||
261 | ```bash | ||
262 | sudo apt-get install libopus-dev libvpx-dev | ||
263 | ``` | ||
264 | If you get the "Unable to locate package libopus-dev" message, add the following ppa and try again: | ||
265 | ```bash | ||
266 | sudo add-apt-repository ppa:ubuntu-sdk-team/ppa && sudo apt-get update && sudo apt-get dist-upgrade | ||
267 | ``` | ||
268 | |||
269 | Install from source (example for most unix-like OS's): | ||
270 | |||
271 | libvpx: | ||
272 | ```bash | ||
273 | git clone http://git.chromium.org/webm/libvpx.git | ||
274 | cd libvpx | ||
275 | ./configure | ||
276 | make -j3 | ||
277 | sudo make install | ||
278 | cd .. | ||
279 | ``` | ||
280 | |||
281 | libopus: | ||
282 | ```bash | ||
283 | wget http://downloads.xiph.org/releases/opus/opus-1.0.3.tar.gz | ||
284 | tar xvzf opus-1.0.3.tar.gz | ||
285 | cd opus-1.0.3 | ||
286 | ./configure | ||
287 | make -j3 | ||
288 | sudo make install | ||
289 | cd .. | ||
290 | ``` | ||
291 | |||
292 | |||
293 | <a name="phone" /> | ||
294 | ####Test phone: | ||
295 | |||
296 | Test phone is disabled by default. You can enable it by adding --enable-phone argument to ./configure script like so: | ||
297 | ```bash | ||
298 | ./configure --enable-phone | ||
299 | ``` | ||
300 | It can be compiled with or without video capturing enabled. There are 4 dependencies for phone: openal, ffmpeg, sdl and swscale. If any of the later 3 are not installed video support is dropped. | ||
301 | |||
302 | Install on fedora: | ||
303 | ```bash | ||
304 | yum install libopenal-devel libswscale-devel SDL* | ||
305 | ``` | ||
306 | |||
307 | Install on ubuntu: | ||
308 | ```bash | ||
309 | sudo apt-get install libopenal-dev libswscale-dev libsdl-dev | ||
310 | ``` | ||
311 | |||
312 | Now grap recent [FFmpeg](https://git.videolan.org/?p=ffmpeg.git) libraries and install them: | ||
313 | ```bash | ||
314 | git clone git://source.ffmpeg.org/ffmpeg.git | ||
315 | cd ffmpeg | ||
316 | git checkout n2.0.2 | ||
317 | ./configure --prefix=`pwd`/install --disable-programs | ||
318 | make && make install | ||
319 | cd .. | ||
320 | ``` | ||
321 | |||
322 | You are now ready to compile with phone! | ||
323 | |||
324 | |||
325 | |||
326 | |||
327 | <a name="bootstrapd" /> | ||
328 | ###Bootstrap daemon: | ||
329 | |||
330 | Daemon is disabled by default. You can enable it by adding --enable-daemon argument to ./configure script like so: | ||
331 | ```bash | ||
332 | ./configure --enable-daemon | ||
333 | ``` | ||
334 | There is one dependency required for bootstrap daemon: libconfig. | ||
335 | |||
336 | Install on fedora: | ||
337 | ```bash | ||
338 | yum install libconfig-devel | ||
339 | ``` | ||
340 | |||
341 | Install on ubuntu: | ||
342 | ```bash | ||
343 | sudo apt-get install libconfig-dev | ||
344 | ``` | ||
345 | |||
346 | OS X homebrew: | ||
347 | ``` | ||
348 | brew install libconfig | ||
349 | ``` | ||
350 | OS X non-homebrew: | ||
351 | Grab the following [package] (http://www.hyperrealm.com/libconfig/), uncompress and install | ||
352 | |||
353 | |||
354 | |||
355 | <a name="ntox" /> | ||
356 | ###nTox test cli: | ||
357 | |||
358 | nTox is disabled by default. You can enable it by adding --enable-ntox argument to ./configure script like so: | ||
359 | ```bash | ||
360 | ./configure --enable-ntox | ||
361 | ``` | ||
362 | There is one dependency required for nTox: libncurses. | ||
363 | |||
364 | Install on fedora: | ||
365 | ```bash | ||
366 | yum install ncurses-devel | ||
367 | ``` | ||
368 | |||
369 | Install on ubuntu: | ||
370 | ```bash | ||
371 | sudo apt-get install ncurses-dev | ||
372 | ``` | ||
373 | |||