aboutsummaryrefslogtreecommitdiff
path: root/doc/chapters
diff options
context:
space:
mode:
authorng0 <ng0@infotropique.org>2017-10-17 15:04:13 +0000
committerng0 <ng0@infotropique.org>2017-10-17 15:04:13 +0000
commitf93463219f49ae010fd84ca28d0c44a4a009efbc (patch)
treee9857e36b3bfcf38e0bdf9a5e536b3d81a08b4db /doc/chapters
parent896aff0c5f66e3c590db01bf84c2d8800e563e57 (diff)
downloadgnunet-f93463219f49ae010fd84ca28d0c44a4a009efbc.tar.gz
gnunet-f93463219f49ae010fd84ca28d0c44a4a009efbc.zip
doc: chapters: installation: some fixes.
Diffstat (limited to 'doc/chapters')
-rw-r--r--doc/chapters/installation.texi399
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,
61compile with libunbound for DANE support; GnuTLS also requires GNU
62nettle 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
64against 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}
67post (and the link inside it)).
68@item @uref{https://gnunet.org/gnurl, gnURL} libgnurl 7.34.0 or higher,
69must 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)}
77optional 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)}
81version numbers, but you may get subtle bugs with respect to quota management
82in certain rare cases); alternatively, MySQL or Postgres can also be installed,
83but those databases will require more complex configurations (not recommended
84for 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
96distribution is to old you perhaps get an error message while running the 81distribution 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@ 87checking for 64-bit curl_off_t data type... unknown
103 checking for 32-bit curl_off_t data type... unknown@ 88checking for 32-bit curl_off_t data type... unknown
104 checking for 16-bit curl_off_t data type... unknown@ 89checking for 16-bit curl_off_t data type... unknown
105 configure: error: cannot find data type for curl_off_t.@ 90configure: error: cannot find data type for curl_off_t.
106} 91@end example
107 92
108Solution: 93Solution:
109 94
@@ -221,33 +206,40 @@ Debian stable carefully as you try to install the dependencies for your own
221distribution. Contributing additional instructions for further platforms is 206distribution. Contributing additional instructions for further platforms is
222always appreciated. 207always appreciated.
223 208
224Before proceeding further, please double-check the dependency list. Note that 209Before proceeding further, please double-check the dependency list.
225in addition to satisfying the dependencies, you might have to make sure that 210Note that in addition to satisfying the dependencies, you might have to
226development headers for the various libraries are also installed. There maybe 211make sure that development headers for the various libraries are also
227files for other distributions, or you might be able to find equivalent packages 212installed.
228for your distribution. 213There maybe files for other distributions, or you might be able to find
214equivalent packages for your distribution.
229 215
230While it is possible to build and install GNUnet without having root access, 216While it is possible to build and install GNUnet without having root access,
231we will assume that you have full control over your system in these 217we will assume that you have full control over your system in these
232instructions. First, you should create a system user @emph{gnunet} and an additional 218instructions. First, you should create a system user @emph{gnunet} and
233group @emph{gnunetdns}. On Debian and Ubuntu GNU/Linux, type:@ 219an 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@ 227On 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@ 234Now 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
252If you want to be able to enable DEBUG-level log messages, add 244If 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
259file-sharing):@ 251file-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
263Next, 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
380First, make sure Git is installed on your system:@ 374First, 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
384Install the essential buildtools:@ 380Install 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
480Install libextractor dependencies:@ 472Install 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
488Build libextractor:@ 480Build 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
507Install libopus@ 498Install 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
517Choose one or more database backends@ 508Choose one or more database backends:
518
519@itemize @bullet
520
521@item
522SQLite3 @code{$ sudo apt-get install libsqlite3-dev}
523
524@item
525MySQL @code{$ sudo apt-get install libmysqlclient-dev}
526 509
527@item 510SQLite3:
528PostgreSQL @code{$ sudo apt-get install libpq-dev postgresql} 511@example
529 512$ sudo apt-get install libsqlite3-dev
530@end itemize 513@end example
514MySQL:
515@example
516$ sudo apt-get install libmysqlclient-dev
517@end example
518PostgreSQL:
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
549You can specify the location of the GNUnet installation by setting the prefix 540You can specify the location of the GNUnet installation by setting the prefix
550when calling the configure script:@code{ --prefix=DIRECTORY} 541when 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
559Please make sure NOW that you have created a user and group 'gnunet'@ 550Please make sure NOW that you have created a user and group 'gnunet'
560and additionally a group 'gnunetdns':@ 551and additionally a group 'gnunetdns':
561@code{@
562 $ sudo addgroup gnunet@
563 $ sudo addgroup gnunetdns@
564 $ sudo adduser gnunet@
565}
566 552
567Each 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
559Each GNUnet user should be added to the 'gnunet' group (may
568require fresh login to come into effect): 560require 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
576Some components, like the nss plugin required for GNS, may require root 569Some components, like the nss plugin required for GNS, may require root
577permissions. To allow these few components to be installed use:@ 570permissions. 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}
590Use the required configure call including the optional installation prefix 585Use the required configure call including the optional installation prefix
591PREFIX or the sudo permissions@ 586PREFIX or the sudo permissions:
592@code{$ ./configure [ --with-sudo | --with-prefix=PREFIX ]}@
593@code{$ make; sudo make install}
594 587
595After 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
598And finally you can start GNUnet with@ 592@example
599@code{$ gnunet-arm -s} 593$ make; sudo make install
594@end example
595
596After installing it, you need to create an empty configuration file:
597
598@example
599mkdir ~/.gnunet; touch ~/.gnunet/gnunet.conf
600@end example
601
602And 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
605Install depencies:@ 608Install depencies:
606@code{$ sudo apt-get install libgtk-3-dev libunique-3.0-dev libgladeui-dev libqrencode-dev}
607 609
608To 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/@ 612libqrencode-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 615To 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
636This document is a guide to building GNUnet and its dependencies on Windows 642This document is a guide to building GNUnet and its dependencies on Windows
637platforms. GNUnet development is mostly done under Linux and especially SVN 643platforms. GNUnet development is mostly done under Linux and especially SVN
638checkouts may not build out of the box. We regret any inconvenience, and if you 644checkouts may not build out of the box. We regret any inconvenience, and
639have problems, please report them. 645if 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
731configure it accordingly. 737configure it accordingly.
732 738
733@example 739@example
734cd ~/gnunet@ 740cd ~/gnunet
735./bootstrap@ 741./bootstrap
736STRIP=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 742STRIP=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
739The parameters above will configure for a reasonable gnunet installation to the 751The 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
751you may fetch yourself a coffee or some Mate now... 763you may fetch yourself a coffee or some Mate now...
752 764
753@example 765@example
754make@ 766make ; make install
755make 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
775The GNUnet installer is made with @uref{http://nsis.sourceforge.net/, NSIS}@ 786The GNUnet installer is made with @uref{http://nsis.sourceforge.net/, NSIS}
776The installer script is located in @file{contrib\win} in the GNUnet source tree. 787The installer script is located in @file{contrib\win} in the
788GNUnet 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.
826After any installation, you should begin by running 838After 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
833to ensure that all of your packages are up-to-date. Note that the "#" is used 844to ensure that all of your packages are up-to-date. Note that the "#" is used