diff options
author | ng0 <ng0@infotropique.org> | 2017-10-17 15:04:13 +0000 |
---|---|---|
committer | ng0 <ng0@infotropique.org> | 2017-10-17 15:04:13 +0000 |
commit | f93463219f49ae010fd84ca28d0c44a4a009efbc (patch) | |
tree | e9857e36b3bfcf38e0bdf9a5e536b3d81a08b4db /doc/chapters | |
parent | 896aff0c5f66e3c590db01bf84c2d8800e563e57 (diff) | |
download | gnunet-f93463219f49ae010fd84ca28d0c44a4a009efbc.tar.gz gnunet-f93463219f49ae010fd84ca28d0c44a4a009efbc.zip |
doc: chapters: installation: some fixes.
Diffstat (limited to 'doc/chapters')
-rw-r--r-- | doc/chapters/installation.texi | 399 |
1 files changed, 205 insertions, 194 deletions
diff --git a/doc/chapters/installation.texi b/doc/chapters/installation.texi index 14c10d2b0..2fc790e3e 100644 --- a/doc/chapters/installation.texi +++ b/doc/chapters/installation.texi | |||
@@ -54,34 +54,19 @@ can be performed: | |||
54 | @item GNU libtool 2.2 or higher | 54 | @item GNU libtool 2.2 or higher |
55 | @item GNU libunistring 0.9.1.1 or higher | 55 | @item GNU libunistring 0.9.1.1 or higher |
56 | @item GNU libidn 1.0.0 or higher | 56 | @item GNU libidn 1.0.0 or higher |
57 | @item @uref{https://gnupg.org/software/libgcrypt/index.html, GNU libgcrypt} | 57 | @item @uref{https://gnupg.org/software/libgcrypt/index.html, GNU libgcrypt} @uref{https://gnupg.org/ftp/gcrypt/libgcrypt/, 1.6.0} or higher |
58 | @uref{https://gnupg.org/ftp/gcrypt/libgcrypt/, 1.6.0} or higher | 58 | @item @uref{https://gnutls.org/, GnuTLS} @uref{https://www.gnupg.org/ftp/gcrypt/gnutls/v3.2/, 3.2.7} or higher @footnote{compile with libunbound for DANE support; GnuTLS also requires GNU nettle 2.7 (update: GnuTLS 3.2.7 appears NOT to work against GNU nettle > 2.7, due to some API updatings done by nettle. Thus it should be compiled against nettle 2.7 and, in case you get some error on the reference to `rpl_strerror' being undefined, follow the instructions on @uref{http://lists.gnupg.org/pipermail/gnutls-devel/2013-November/006588.html, this} post (and the link inside it)).} |
59 | @item @uref{https://gnutls.org/, GnuTLS} | 59 | @item @uref{https://gnunet.org/gnurl, gnURL} libgnurl 7.34.0 or higher @footnote{must be compiled after @code{GnuTLS}} |
60 | @uref{https://www.gnupg.org/ftp/gcrypt/gnutls/v3.2/, 3.2.7} or higher, | ||
61 | compile with libunbound for DANE support; GnuTLS also requires GNU | ||
62 | nettle 2.7 (update: GnuTLS 3.2.7 appears NOT to work against GNU nettle | ||
63 | > 2.7, due to some API updatings done by nettle. Thus it should be compiled | ||
64 | against nettle 2.7 and, in case you get some error on the reference to | ||
65 | `rpl_strerror' being undefined, follow the instructions on@ | ||
66 | @uref{http://lists.gnupg.org/pipermail/gnutls-devel/2013-November/006588.html, this} | ||
67 | post (and the link inside it)). | ||
68 | @item @uref{https://gnunet.org/gnurl, gnURL} libgnurl 7.34.0 or higher, | ||
69 | must be compiled after @code{GnuTLS} | ||
70 | @item libglpk 4.45 or higher | 60 | @item libglpk 4.45 or higher |
71 | @item @uref{http://www.openssl.org/, OpenSSL} (binary) 1.0 or higher | 61 | @item @uref{http://www.openssl.org/, OpenSSL} (binary) 1.0 or higher |
72 | @item TeX Live 2012 or higher, optional (for gnunet-bcd) | 62 | @item TeX Live 2012 or higher, optional (for gnunet-bcd) |
63 | @item Texinfo 5.2 or higher (for documentation) | ||
73 | @item libpulse 2.0 or higher, optional (for gnunet-conversation) | 64 | @item libpulse 2.0 or higher, optional (for gnunet-conversation) |
74 | @item libopus 1.0.1 or higher, optional (for gnunet-conversation) | 65 | @item libopus 1.0.1 or higher, optional (for gnunet-conversation) |
75 | @item libogg 1.3.0 or higher, optional (for gnunet-conversation) | 66 | @item libogg 1.3.0 or higher, optional (for gnunet-conversation) |
76 | @item certool (binary) | 67 | @item certool (binary) optional @footnote{for convenient installation of the GNS proxy (available as part of Debian's libnss3-tools)} |
77 | optional for convenient installation of the GNS proxy | ||
78 | (available as part of Debian's libnss3-tools) | ||
79 | @item python-zbar 0.10 or higher, optional (for gnunet-qr) | 68 | @item python-zbar 0.10 or higher, optional (for gnunet-qr) |
80 | @item libsqlite 3.8.0 or higher (note that the code will compile and often work with lower | 69 | @item libsqlite 3.8.0 or higher @footnote{(note that the code will compile and often work with lower version numbers, but you may get subtle bugs with respect to quota management in certain rare cases); alternatively, MySQL or Postgres can also be installed, but those databases will require more complex configurations (not recommended for first-time users)} |
81 | version numbers, but you may get subtle bugs with respect to quota management | ||
82 | in certain rare cases); alternatively, MySQL or Postgres can also be installed, | ||
83 | but those databases will require more complex configurations (not recommended | ||
84 | for first-time users) | ||
85 | @item zlib any version we tested worked | 70 | @item zlib any version we tested worked |
86 | @item Gtk+ 3.0 or higher, optional (for gnunet-gtk) | 71 | @item Gtk+ 3.0 or higher, optional (for gnunet-gtk) |
87 | @item libgladeui must match Gtk+ version, optional (for gnunet-gtk) | 72 | @item libgladeui must match Gtk+ version, optional (for gnunet-gtk) |
@@ -96,14 +81,14 @@ If you have to compile libgnurl from source since the version included in your | |||
96 | distribution is to old you perhaps get an error message while running the | 81 | distribution is to old you perhaps get an error message while running the |
97 | @file{configure} script: | 82 | @file{configure} script: |
98 | 83 | ||
99 | @code{@ | 84 | @example |
100 | $ configure@ | 85 | $ configure |
101 | ...@ | 86 | ... |
102 | checking for 64-bit curl_off_t data type... unknown@ | 87 | checking for 64-bit curl_off_t data type... unknown |
103 | checking for 32-bit curl_off_t data type... unknown@ | 88 | checking for 32-bit curl_off_t data type... unknown |
104 | checking for 16-bit curl_off_t data type... unknown@ | 89 | checking for 16-bit curl_off_t data type... unknown |
105 | configure: error: cannot find data type for curl_off_t.@ | 90 | configure: error: cannot find data type for curl_off_t. |
106 | } | 91 | @end example |
107 | 92 | ||
108 | Solution: | 93 | Solution: |
109 | 94 | ||
@@ -221,33 +206,40 @@ Debian stable carefully as you try to install the dependencies for your own | |||
221 | distribution. Contributing additional instructions for further platforms is | 206 | distribution. Contributing additional instructions for further platforms is |
222 | always appreciated. | 207 | always appreciated. |
223 | 208 | ||
224 | Before proceeding further, please double-check the dependency list. Note that | 209 | Before proceeding further, please double-check the dependency list. |
225 | in addition to satisfying the dependencies, you might have to make sure that | 210 | Note that in addition to satisfying the dependencies, you might have to |
226 | development headers for the various libraries are also installed. There maybe | 211 | make sure that development headers for the various libraries are also |
227 | files for other distributions, or you might be able to find equivalent packages | 212 | installed. |
228 | for your distribution. | 213 | There maybe files for other distributions, or you might be able to find |
214 | equivalent packages for your distribution. | ||
229 | 215 | ||
230 | While it is possible to build and install GNUnet without having root access, | 216 | While it is possible to build and install GNUnet without having root access, |
231 | we will assume that you have full control over your system in these | 217 | we will assume that you have full control over your system in these |
232 | instructions. First, you should create a system user @emph{gnunet} and an additional | 218 | instructions. First, you should create a system user @emph{gnunet} and |
233 | group @emph{gnunetdns}. On Debian and Ubuntu GNU/Linux, type:@ | 219 | an additional group @emph{gnunetdns}. On Debian and Ubuntu GNU/Linux, type: |
234 | @code{@ | 220 | |
235 | # adduser --system --home /var/lib/gnunet --group --disabled-password gnunet@ | 221 | @example |
236 | # addgroup --system gnunetdns@ | 222 | # adduser --system --home /var/lib/gnunet --group \ |
237 | }@ | 223 | --disabled-password gnunet |
238 | On other Unixes, this should have the same effect:@ | 224 | # addgroup --system gnunetdns |
239 | @code{@ | 225 | @end example |
240 | # useradd --system --groups gnunet --home-dir /var/lib/gnunet@ | 226 | |
241 | # addgroup --system gnunetdns@ | 227 | On other Unixes, this should have the same effect: |
242 | }@ | 228 | |
243 | Now compile and install GNUnet using:@ | 229 | @example |
244 | @code{@ | 230 | # useradd --system --groups gnunet --home-dir /var/lib/gnunet |
245 | $ tar xvf gnunet-0.10.?.tar.gz@ | 231 | # addgroup --system gnunetdns |
246 | $ cd gnunet-0.10.?@ | 232 | @end example |
247 | $ ./configure --with-sudo=sudo --with-nssdir=/lib@ | 233 | |
248 | $ make@ | 234 | Now compile and install GNUnet using: |
249 | $ sudo make install@ | 235 | |
250 | }@ | 236 | @example |
237 | $ tar xvf gnunet-0.10.?.tar.gz | ||
238 | $ cd gnunet-0.10.? | ||
239 | $ ./configure --with-sudo=sudo --with-nssdir=/lib | ||
240 | $ make | ||
241 | $ sudo make install | ||
242 | @end example | ||
251 | 243 | ||
252 | If you want to be able to enable DEBUG-level log messages, add | 244 | If you want to be able to enable DEBUG-level log messages, add |
253 | @code{--enable-logging=verbose} to the end of the @code{./configure} command. | 245 | @code{--enable-logging=verbose} to the end of the @code{./configure} command. |
@@ -258,16 +250,18 @@ Finally, you probably want to compile @code{gnunet-gtk}, which includes gnunet-s | |||
258 | (graphical tool for configuration) and @code{gnunet-fs-gtk} (graphical tool for | 250 | (graphical tool for configuration) and @code{gnunet-fs-gtk} (graphical tool for |
259 | file-sharing):@ | 251 | file-sharing):@ |
260 | 252 | ||
261 | @code{@ | 253 | @example |
262 | $ tar xvf gnunet-gtk-0.10.?.tar.gz@ | 254 | $ tar xvf gnunet-gtk-0.10.?.tar.gz |
263 | $ cd gnunet-gtk-0.10.?@ | 255 | $ cd gnunet-gtk-0.10.? |
264 | $ ./configure --with-gnunet=/usr/local/@ | 256 | $ ./configure --with-gnunet=/usr/local/ |
265 | $ make@ | 257 | $ make |
266 | $ sudo make install@ | 258 | $ sudo make install |
267 | $ cd ..@ | 259 | $ cd .. |
268 | $ sudo ldconfig # just to be safe@ | 260 | $ sudo ldconfig # just to be safe |
269 | }@ | 261 | @end example |
270 | Next, edit the file @file{/etc/gnunet.conf} to contain the following:@ | 262 | |
263 | Next, edit the file @file{/etc/gnunet.conf} to contain the following: | ||
264 | |||
271 | @code{@ | 265 | @code{@ |
272 | [arm]@ | 266 | [arm]@ |
273 | SYSTEM_ONLY = YES@ | 267 | SYSTEM_ONLY = YES@ |
@@ -377,79 +371,79 @@ system, it should have been created during the installation. | |||
377 | @node Install the required build tools | 371 | @node Install the required build tools |
378 | @subsection Install the required build tools | 372 | @subsection Install the required build tools |
379 | 373 | ||
380 | First, make sure Git is installed on your system:@ | 374 | First, make sure Git is installed on your system: |
381 | 375 | ||
382 | $ sudo apt-get install git@ | 376 | @example |
377 | $ sudo apt-get install git | ||
378 | @end example | ||
383 | 379 | ||
384 | Install the essential buildtools:@ | 380 | Install the essential buildtools: |
385 | 381 | ||
382 | @example | ||
386 | $ sudo apt-get install automake autopoint autoconf libtool | 383 | $ sudo apt-get install automake autopoint autoconf libtool |
384 | @end example | ||
387 | 385 | ||
388 | @node Install libgcrypt 1.6 and libgpg-error | 386 | @node Install libgcrypt 1.6 and libgpg-error |
389 | @subsection Install libgcrypt 1.6 and libgpg-error | 387 | @subsection Install libgcrypt 1.6 and libgpg-error |
390 | 388 | ||
391 | $ wget ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.12.tar.bz2@ | 389 | @example |
392 | $ tar xf libgpg-error-1.12.tar.bz2@ | 390 | $ wget ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.12.tar.bz2 |
393 | $ cd libgpg-error-1.12@ | 391 | $ tar xf libgpg-error-1.12.tar.bz2 |
394 | $ ./configure@ | 392 | $ cd libgpg-error-1.12 |
395 | $ sudo make install@ | 393 | $ ./configure |
396 | $ cd ..@ | 394 | $ sudo make install ; cd .. |
395 | @end example | ||
397 | 396 | ||
398 | @node Install gnutls with DANE support | 397 | @node Install gnutls with DANE support |
399 | @subsection Install gnutls with DANE support | 398 | @subsection Install gnutls with DANE support |
400 | 399 | ||
401 | @example | 400 | @example |
402 | $ wget http://www.lysator.liu.se/~nisse/archive/nettle-2.7.1.tar.gz@ | 401 | $ wget http://www.lysator.liu.se/~nisse/archive/nettle-2.7.1.tar.gz |
403 | $ tar xf nettle-2.7.1.tar.gz@ | 402 | $ tar xf nettle-2.7.1.tar.gz |
404 | $ cd nettle-2.7.1@ | 403 | $ cd nettle-2.7.1 |
405 | $ ./configure@ | 404 | $ ./configure |
406 | $ sudo make install@ | 405 | $ sudo make install ; cd .. |
407 | $ cd .. | ||
408 | @end example | 406 | @end example |
409 | 407 | ||
410 | @example | 408 | @example |
411 | $ wget https://www.nlnetlabs.nl/downloads/ldns/ldns-1.6.16.tar.gz@ | 409 | $ wget https://www.nlnetlabs.nl/downloads/ldns/ldns-1.6.16.tar.gz |
412 | $ tar xf ldns-1.6.16.tar.gz@ | 410 | $ tar xf ldns-1.6.16.tar.gz |
413 | $ cd ldns-1.6.16@ | 411 | $ cd ldns-1.6.16 |
414 | $ ./configure@ | 412 | $ ./configure |
415 | $ sudo make install@ | 413 | $ sudo make install ; cd .. |
416 | $ cd .. | ||
417 | @end example | 414 | @end example |
418 | 415 | ||
419 | @example | 416 | @example |
420 | $ wget https://unbound.net/downloads/unbound-1.4.21.tar.gz@ | 417 | $ wget https://unbound.net/downloads/unbound-1.4.21.tar.gz |
421 | $ tar xf unbound-1.4.21.tar.gz@ | 418 | $ tar xf unbound-1.4.21.tar.gz |
422 | $ cd unbound-1.4.21@ | 419 | $ cd unbound-1.4.21 |
423 | $ ./configure@ | 420 | $ ./configure |
424 | $ sudo make install@ | 421 | $ sudo make install ; cd .. |
425 | $ cd .. | ||
426 | @end example | 422 | @end example |
427 | 423 | ||
428 | @example | 424 | @example |
429 | $ wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/gnutls-3.1.17.tar.xz@ | 425 | $ wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/gnutls-3.1.17.tar.xz |
430 | $ tar xf gnutls-3.1.17.tar.xz@ | 426 | $ tar xf gnutls-3.1.17.tar.xz |
431 | $ cd gnutls-3.1.17@ | 427 | $ cd gnutls-3.1.17 |
432 | $ ./configure@ | 428 | $ ./configure |
433 | $ sudo make install@ | 429 | $ sudo make install ; cd .. |
434 | $ cd .. | ||
435 | @end example | 430 | @end example |
436 | 431 | ||
437 | @example | 432 | @example |
438 | $ wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.6.0.tar.bz2@ | 433 | $ wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.6.0.tar.bz2 |
439 | $ tar xf libgcrypt-1.6.0.tar.bz2@ | 434 | $ tar xf libgcrypt-1.6.0.tar.bz2 |
440 | $ cd libgcrypt-1.6.0@ | 435 | $ cd libgcrypt-1.6.0 |
441 | $ ./configure@ | 436 | $ ./configure |
442 | $ sudo make install@ | 437 | $ sudo make install ; cd .. |
443 | $ cd ..@ | ||
444 | @end example | 438 | @end example |
445 | 439 | ||
446 | @node Install libgnurl | 440 | @node Install libgnurl |
447 | @subsection Install libgnurl | 441 | @subsection Install libgnurl |
448 | 442 | ||
449 | @example | 443 | @example |
450 | $ wget https://gnunet.org/sites/default/files/gnurl-7.34.0.tar.bz2@ | 444 | $ wget https://gnunet.org/sites/default/files/gnurl-7.34.0.tar.bz2 |
451 | $ tar xf gnurl-7.34.0.tar.bz2@ | 445 | $ tar xf gnurl-7.34.0.tar.bz2 |
452 | $ cd gnurl-7.34.0@ | 446 | $ cd gnurl-7.34.0 |
453 | $ ./configure --enable-ipv6 --with-gnutls --without-libssh2 \ | 447 | $ ./configure --enable-ipv6 --with-gnutls --without-libssh2 \ |
454 | --without-libmetalink --without-winidn --without-librtmp \ | 448 | --without-libmetalink --without-winidn --without-librtmp \ |
455 | --without-nghttp2 --without-nss --without-cyassl \ | 449 | --without-nghttp2 --without-nss --without-cyassl \ |
@@ -457,27 +451,25 @@ $ ./configure --enable-ipv6 --with-gnutls --without-libssh2 \ | |||
457 | --without-darwinssl --disable-sspi --disable-ntlm-wb \ | 451 | --without-darwinssl --disable-sspi --disable-ntlm-wb \ |
458 | --disable-ldap --disable-rtsp --disable-dict --disable-telnet \ | 452 | --disable-ldap --disable-rtsp --disable-dict --disable-telnet \ |
459 | --disable-tftp --disable-pop3 --disable-imap --disable-smtp \ | 453 | --disable-tftp --disable-pop3 --disable-imap --disable-smtp \ |
460 | --disable-gopher --disable-file --disable-ftp@ | 454 | --disable-gopher --disable-file --disable-ftp |
461 | $ sudo make install@ | 455 | $ sudo make install ; cd .. |
462 | $ cd ..@ | ||
463 | @end example | 456 | @end example |
464 | 457 | ||
465 | @node Install libmicrohttpd from Git | 458 | @node Install libmicrohttpd from Git |
466 | @subsection Install libmicrohttpd from Git | 459 | @subsection Install libmicrohttpd from Git |
467 | 460 | ||
468 | @example | 461 | @example |
469 | $ git clone https://gnunet.org/git/libmicrohttpd@ | 462 | $ git clone https://gnunet.org/git/libmicrohttpd |
470 | $ cd libmicrohttpd/@ | 463 | $ cd libmicrohttpd/ |
471 | $ ./bootstrap@ | 464 | $ ./bootstrap |
472 | $ ./configure@ | 465 | $ ./configure |
473 | $ sudo make install@ | 466 | $ sudo make install ; cd .. |
474 | $ cd ..@ | ||
475 | @end example | 467 | @end example |
476 | 468 | ||
477 | @node Install libextractor from Git | 469 | @node Install libextractor from Git |
478 | @subsection Install libextractor from Git | 470 | @subsection Install libextractor from Git |
479 | 471 | ||
480 | Install libextractor dependencies:@ | 472 | Install libextractor dependencies: |
481 | 473 | ||
482 | @example | 474 | @example |
483 | $ sudo apt-get install zlib1g-dev libgsf-1-dev libmpeg2-4-dev libpoppler-dev \ | 475 | $ sudo apt-get install zlib1g-dev libgsf-1-dev libmpeg2-4-dev libpoppler-dev \ |
@@ -485,15 +477,14 @@ $ sudo apt-get install zlib1g-dev libgsf-1-dev libmpeg2-4-dev libpoppler-dev \ | |||
485 | libflac-dev libsmf-dev g++@ | 477 | libflac-dev libsmf-dev g++@ |
486 | @end example | 478 | @end example |
487 | 479 | ||
488 | Build libextractor:@ | 480 | Build libextractor: |
489 | 481 | ||
490 | @example | 482 | @example |
491 | $ git clone https://gnunet.org/git/libextractor@ | 483 | $ git clone https://gnunet.org/git/libextractor |
492 | $ cd libextractor@ | 484 | $ cd libextractor |
493 | $ ./bootstrap@ | 485 | $ ./bootstrap |
494 | $ ./configure@ | 486 | $ ./configure |
495 | $ sudo make install@ | 487 | $ sudo make install ; cd .. |
496 | $ cd ..@ | ||
497 | @end example | 488 | @end example |
498 | 489 | ||
499 | @node Install GNUnet dependencies | 490 | @node Install GNUnet dependencies |
@@ -504,30 +495,30 @@ $ sudo apt-get install libidn11-dev libunistring-dev libglpk-dev \ | |||
504 | libpulse-dev libbluetooth-dev libsqlite-dev@ | 495 | libpulse-dev libbluetooth-dev libsqlite-dev@ |
505 | @end example | 496 | @end example |
506 | 497 | ||
507 | Install libopus@ | 498 | Install libopus: |
508 | 499 | ||
509 | @example | 500 | @example |
510 | $ wget http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz@ | 501 | $ wget http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz |
511 | $ tar xf opus-1.1.tar.gz@ | 502 | $ tar xf opus-1.1.tar.gz |
512 | $ cd opus-1.1/@ | 503 | $ cd opus-1.1/ |
513 | $ ./configure@ | 504 | $ ./configure |
514 | $ sudo make install@ | 505 | $ sudo make install ; cd .. |
515 | @end example | 506 | @end example |
516 | 507 | ||
517 | Choose one or more database backends@ | 508 | Choose one or more database backends: |
518 | |||
519 | @itemize @bullet | ||
520 | |||
521 | @item | ||
522 | SQLite3 @code{$ sudo apt-get install libsqlite3-dev} | ||
523 | |||
524 | @item | ||
525 | MySQL @code{$ sudo apt-get install libmysqlclient-dev} | ||
526 | 509 | ||
527 | @item | 510 | SQLite3: |
528 | PostgreSQL @code{$ sudo apt-get install libpq-dev postgresql} | 511 | @example |
529 | 512 | $ sudo apt-get install libsqlite3-dev | |
530 | @end itemize | 513 | @end example |
514 | MySQL: | ||
515 | @example | ||
516 | $ sudo apt-get install libmysqlclient-dev | ||
517 | @end example | ||
518 | PostgreSQL: | ||
519 | @example | ||
520 | $ sudo apt-get install libpq-dev postgresql | ||
521 | @end example | ||
531 | 522 | ||
532 | 523 | ||
533 | 524 | ||
@@ -547,77 +538,92 @@ PostgreSQL @code{$ sudo apt-get install libpq-dev postgresql} | |||
547 | @subsubsection Configuring the installation path | 538 | @subsubsection Configuring the installation path |
548 | 539 | ||
549 | You can specify the location of the GNUnet installation by setting the prefix | 540 | You can specify the location of the GNUnet installation by setting the prefix |
550 | when calling the configure script:@code{ --prefix=DIRECTORY} | 541 | when calling the configure script with @code{--prefix=DIRECTORY} |
551 | 542 | ||
552 | @code{@ | 543 | @example |
553 | $ export PATH=$PATH:DIRECTORY/bin@ | 544 | $ export PATH=$PATH:DIRECTORY/bin |
554 | } | 545 | @end example |
555 | 546 | ||
556 | @node Configuring the system | 547 | @node Configuring the system |
557 | @subsubsection Configuring the system | 548 | @subsubsection Configuring the system |
558 | 549 | ||
559 | Please make sure NOW that you have created a user and group 'gnunet'@ | 550 | Please make sure NOW that you have created a user and group 'gnunet' |
560 | and additionally a group 'gnunetdns':@ | 551 | and additionally a group 'gnunetdns': |
561 | @code{@ | ||
562 | $ sudo addgroup gnunet@ | ||
563 | $ sudo addgroup gnunetdns@ | ||
564 | $ sudo adduser gnunet@ | ||
565 | } | ||
566 | 552 | ||
567 | Each GNUnet user should be added to the 'gnunet' group (may@ | 553 | @example |
554 | $ sudo addgroup gnunet | ||
555 | $ sudo addgroup gnunetdns | ||
556 | $ sudo adduser gnunet | ||
557 | @end example | ||
558 | |||
559 | Each GNUnet user should be added to the 'gnunet' group (may | ||
568 | require fresh login to come into effect): | 560 | require fresh login to come into effect): |
569 | @code{@ | 561 | |
570 | $ sudo useradd -G gnunet@ | 562 | @example |
571 | } | 563 | $ sudo useradd -G gnunet |
564 | @end example | ||
572 | 565 | ||
573 | @node Installing components requiring sudo permission | 566 | @node Installing components requiring sudo permission |
574 | @subsubsection Installing components requiring sudo permission | 567 | @subsubsection Installing components requiring sudo permission |
575 | 568 | ||
576 | Some components, like the nss plugin required for GNS, may require root | 569 | Some components, like the nss plugin required for GNS, may require root |
577 | permissions. To allow these few components to be installed use:@ | 570 | permissions. To allow these few components to be installed use: |
578 | @code{@ | 571 | |
579 | $ ./configure --with-sudo} | 572 | @example |
573 | $ ./configure --with-sudo | ||
574 | @end example | ||
580 | 575 | ||
581 | @node Build | 576 | @node Build |
582 | @subsubsection Build | 577 | @subsubsection Build |
583 | 578 | ||
579 | @example | ||
580 | $ git clone https://gnunet.org/git/gnunet/ | ||
581 | $ cd gnunet/ | ||
582 | $ ./bootstrap | ||
583 | @end example | ||
584 | 584 | ||
585 | @code{@ | ||
586 | $ git clone https://gnunet.org/git/gnunet/@ | ||
587 | $ cd gnunet/@ | ||
588 | $ ./bootstrap@ | ||
589 | } | ||
590 | Use the required configure call including the optional installation prefix | 585 | Use the required configure call including the optional installation prefix |
591 | PREFIX or the sudo permissions@ | 586 | PREFIX or the sudo permissions: |
592 | @code{$ ./configure [ --with-sudo | --with-prefix=PREFIX ]}@ | ||
593 | @code{$ make; sudo make install} | ||
594 | 587 | ||
595 | After installing it, you need to create an empty configuration file:@ | 588 | @example |
596 | @code{mkdir ~/.gnunet; touch ~/.gnunet/gnunet.conf} | 589 | $ ./configure [ --with-sudo | --with-prefix=PREFIX ] |
590 | @end example | ||
597 | 591 | ||
598 | And finally you can start GNUnet with@ | 592 | @example |
599 | @code{$ gnunet-arm -s} | 593 | $ make; sudo make install |
594 | @end example | ||
595 | |||
596 | After installing it, you need to create an empty configuration file: | ||
597 | |||
598 | @example | ||
599 | mkdir ~/.gnunet; touch ~/.gnunet/gnunet.conf | ||
600 | @end example | ||
601 | |||
602 | And finally you can start GNUnet with @code{$ gnunet-arm -s}. | ||
600 | 603 | ||
601 | @node Install the GNUnet-gtk user interface from Git | 604 | @node Install the GNUnet-gtk user interface from Git |
602 | @subsection Install the GNUnet-gtk user interface from Git | 605 | @subsection Install the GNUnet-gtk user interface from Git |
603 | 606 | ||
604 | 607 | ||
605 | Install depencies:@ | 608 | Install depencies: |
606 | @code{$ sudo apt-get install libgtk-3-dev libunique-3.0-dev libgladeui-dev libqrencode-dev} | ||
607 | 609 | ||
608 | To build GNUnet (with an optional prefix)and execute:@ | 610 | @example |
609 | @code{@ | 611 | $ sudo apt-get install libgtk-3-dev libunique-3.0-dev libgladeui-dev \ |
610 | $ git clone https://gnunet.org/git/gnunet-gtk/@ | 612 | libqrencode-dev |
611 | $ cd gnunet-gtk/@ | 613 | @end example |
612 | $ ./bootstrap@ | ||
613 | $ ./configure [--prefix=PREFIX] --with-gnunet=DIRECTORY@ | ||
614 | $ make; sudo make install@ | ||
615 | } | ||
616 | 614 | ||
617 | @node Build Instructions for Microsoft Windows Platforms | 615 | To build GNUnet (with an optional prefix)and execute: |
618 | @section Build Instructions for Microsoft Windows Platforms | ||
619 | 616 | ||
617 | @example | ||
618 | $ git clone https://gnunet.org/git/gnunet-gtk/ | ||
619 | $ cd gnunet-gtk/ | ||
620 | $ ./bootstrap | ||
621 | $ ./configure [--prefix=PREFIX] --with-gnunet=DIRECTORY | ||
622 | $ make; sudo make install | ||
623 | @end example | ||
620 | 624 | ||
625 | @node Build Instructions for Microsoft Windows Platforms | ||
626 | @section Build Instructions for Microsoft Windows Platforms | ||
621 | 627 | ||
622 | @menu | 628 | @menu |
623 | * Introduction to building on MS Windows:: | 629 | * Introduction to building on MS Windows:: |
@@ -635,8 +641,8 @@ To build GNUnet (with an optional prefix)and execute:@ | |||
635 | 641 | ||
636 | This document is a guide to building GNUnet and its dependencies on Windows | 642 | This document is a guide to building GNUnet and its dependencies on Windows |
637 | platforms. GNUnet development is mostly done under Linux and especially SVN | 643 | platforms. GNUnet development is mostly done under Linux and especially SVN |
638 | checkouts may not build out of the box. We regret any inconvenience, and if you | 644 | checkouts may not build out of the box. We regret any inconvenience, and |
639 | have problems, please report them. | 645 | if you have problems, please report them. |
640 | 646 | ||
641 | @node Requirements | 647 | @node Requirements |
642 | @subsection Requirements | 648 | @subsection Requirements |
@@ -731,9 +737,15 @@ Now, we will first need to bootstrap the checked out installation and then | |||
731 | configure it accordingly. | 737 | configure it accordingly. |
732 | 738 | ||
733 | @example | 739 | @example |
734 | cd ~/gnunet@ | 740 | cd ~/gnunet |
735 | ./bootstrap@ | 741 | ./bootstrap |
736 | STRIP=true CPPFLAGS="-DUSE_IPV6=1 -DW32_VEH" CFLAGS="$CFLAGS -g -O2" ./configure --prefix=/ --docdir=/share/doc/gnunet --with-libiconv-prefix=/mingw --with-libintl-prefix=/mingw --with-libcurl=/mingw --with-extractor=/mingw --with-sqlite=/mingw --with-microhttpd=/mingw --with-plibc=/mingw --enable-benchmarks --enable-expensivetests --enable-experimental --with-qrencode=/mingw --enable-silent-rules --enable-experimental 2>&1 | tee -a ./configure.log | 742 | STRIP=true CPPFLAGS="-DUSE_IPV6=1 -DW32_VEH" CFLAGS="$CFLAGS -g -O2" \ |
743 | ./configure --prefix=/ --docdir=/share/doc/gnunet \ | ||
744 | --with-libiconv-prefix=/mingw --with-libintl-prefix=/mingw \ | ||
745 | --with-libcurl=/mingw --with-extractor=/mingw --with-sqlite=/mingw \ | ||
746 | --with-microhttpd=/mingw --with-plibc=/mingw --enable-benchmarks \ | ||
747 | --enable-expensivetests --enable-experimental --with-qrencode=/mingw \ | ||
748 | --enable-silent-rules --enable-experimental 2>&1 | tee -a ./configure.log | ||
737 | @end example | 749 | @end example |
738 | 750 | ||
739 | The parameters above will configure for a reasonable gnunet installation to the | 751 | The parameters above will configure for a reasonable gnunet installation to the |
@@ -751,8 +763,7 @@ Now it's time to compile gnunet as usual. Though this will take some time, so | |||
751 | you may fetch yourself a coffee or some Mate now... | 763 | you may fetch yourself a coffee or some Mate now... |
752 | 764 | ||
753 | @example | 765 | @example |
754 | make@ | 766 | make ; make install |
755 | make install | ||
756 | @end example | 767 | @end example |
757 | 768 | ||
758 | @node Adjusting Windows for running and testing GNUnet | 769 | @node Adjusting Windows for running and testing GNUnet |
@@ -772,8 +783,9 @@ gnunet-exit). | |||
772 | @node Building the GNUnet Installer | 783 | @node Building the GNUnet Installer |
773 | @subsection Building the GNUnet Installer | 784 | @subsection Building the GNUnet Installer |
774 | 785 | ||
775 | The GNUnet installer is made with @uref{http://nsis.sourceforge.net/, NSIS}@ | 786 | The GNUnet installer is made with @uref{http://nsis.sourceforge.net/, NSIS} |
776 | The installer script is located in @file{contrib\win} in the GNUnet source tree. | 787 | The installer script is located in @file{contrib\win} in the |
788 | GNUnet source tree. | ||
777 | 789 | ||
778 | @node Using GNUnet with Netbeans on Windows | 790 | @node Using GNUnet with Netbeans on Windows |
779 | @subsection Using GNUnet with Netbeans on Windows | 791 | @subsection Using GNUnet with Netbeans on Windows |
@@ -826,8 +838,7 @@ choice before beginning with the instructions. | |||
826 | After any installation, you should begin by running | 838 | After any installation, you should begin by running |
827 | 839 | ||
828 | @example | 840 | @example |
829 | # apt-get update@ | 841 | # apt-get update ; apt-get upgrade |
830 | # apt-get upgrade@ | ||
831 | @end example | 842 | @end example |
832 | 843 | ||
833 | to ensure that all of your packages are up-to-date. Note that the "#" is used | 844 | to ensure that all of your packages are up-to-date. Note that the "#" is used |