diff options
Diffstat (limited to 'INSTALL.md')
-rw-r--r-- | INSTALL.md | 218 |
1 files changed, 164 insertions, 54 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 | - [Advance configure] (#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: |
@@ -194,17 +168,6 @@ autoreconf -i | |||
194 | make | 168 | make |
195 | make install | 169 | make install |
196 | ``` | 170 | ``` |
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 | 171 | ||
209 | Do not install them from macports (or any dependencies for that matter) as they get shoved in the wrong directory | 172 | 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. | 173 | (or the wrong version gets installed) and make your life more annoying. |
@@ -246,6 +209,23 @@ autoreconf -i | |||
246 | make | 209 | make |
247 | make install | 210 | make install |
248 | ``` | 211 | ``` |
212 | |||
213 | <a name="Clients" /> | ||
214 | ####Clients: | ||
215 | 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) | ||
216 | |||
217 | |||
218 | |||
219 | |||
220 | |||
221 | <a name="additional" /> | ||
222 | ##Additional | ||
223 | |||
224 | |||
225 | |||
226 | <a name="aconf" /> | ||
227 | ###Advance configure: | ||
228 | |||
249 | Advance configure options: | 229 | Advance configure options: |
250 | - --prefix=/where/to/install | 230 | - --prefix=/where/to/install |
251 | - --with-libsodium-headers=/path/to/libsodium/include/ | 231 | - --with-libsodium-headers=/path/to/libsodium/include/ |
@@ -253,11 +233,141 @@ Advance configure options: | |||
253 | - --enable-silent-rules less verbose build output (undo: "make V=1") | 233 | - --enable-silent-rules less verbose build output (undo: "make V=1") |
254 | - --disable-silent-rules verbose build output (undo: "make V=0") | 234 | - --disable-silent-rules verbose build output (undo: "make V=0") |
255 | - --disable-tests build unit tests (default: auto) | 235 | - --disable-tests build unit tests (default: auto) |
256 | - --disable-ntox build nTox client (default: auto) | 236 | - --disable-av disable A/V support (default: auto) see: [libtoxav](#libtoxav) |
257 | - --disable-dht-bootstrap-daemon build DHT bootstrap daemon (default: auto) | 237 | - --enable-phone build phone (default: no) see: [Test phone](#phone) |
238 | - --enable-ntox build nTox client (default: no) see: [nTox](#ntox) | ||
239 | - --enable-daemon build DHT bootstrap daemon (default: no) see: [Bootstrap daemon](#bootstrapd) | ||
258 | - --enable-shared[=PKGS] build shared libraries [default=yes] | 240 | - --enable-shared[=PKGS] build shared libraries [default=yes] |
259 | - --enable-static[=PKGS] build static libraries [default=yes] | 241 | - --enable-static[=PKGS] build static libraries [default=yes] |
260 | 242 | ||
261 | <a name="Clients" /> | 243 | |
262 | ####Clients: | 244 | <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) | 245 | ###A/V support: |
246 | |||
247 | <a name="libtoxav" /> | ||
248 | ####libtoxav: | ||
249 | |||
250 | '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: | ||
251 | ```bash | ||
252 | ./configure --disable-av | ||
253 | ``` | ||
254 | There are 2 dependencies required for libtoxav: libopus and libvpx. If they are not installed A/V support is dropped. | ||
255 | |||
256 | Install on fedora: | ||
257 | ```bash | ||
258 | yum install libopus-devel libvpx-devel | ||
259 | ``` | ||
260 | |||
261 | Install on ubuntu: | ||
262 | ```bash | ||
263 | sudo apt-get install libopus-dev libvpx-dev | ||
264 | ``` | ||
265 | If you get the "Unable to locate package libopus-dev" message, add the following ppa and try again: | ||
266 | ```bash | ||
267 | sudo add-apt-repository ppa:ubuntu-sdk-team/ppa && sudo apt-get update && sudo apt-get dist-upgrade | ||
268 | ``` | ||
269 | |||
270 | Install from source (example for most unix-like OS's): | ||
271 | |||
272 | libvpx: | ||
273 | ```bash | ||
274 | git clone http://git.chromium.org/webm/libvpx.git | ||
275 | cd libvpx | ||
276 | ./configure | ||
277 | make -j3 | ||
278 | sudo make install | ||
279 | cd .. | ||
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 ready to compile 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 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 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 | |||