Merge branch 'lurchi_social'
[oweals/gnunet.git] / doc / outdated-and-old-installation-instructions.txt
1 # This file contains pieces from chapter/installation.texi for systems where the LTS or otherwise support
2 # ended. They can be useful for people trying to write new installation instructions for those systems.
3 # In particual this covers:
4 # - FreeBSD 8
5 # - Mac OS X Tiger
6 # - Fedora 8
7 # - Gentoo with GNUnet 0.9
8 #
9 # Sources for LTS and support ranges:
10 # https://www.freebsd.org/security/security.html#sup
11 # https://support.microsoft.com/en-us/help/17140/lifecycle-faq-general-policy-questions
12 # Mac products, OS is supposedly similar (no official statements exist): https://web.archive.org/web/20160706101225/https://support.apple.com/en-us/HT201624
13 # https://wiki.debian.org/LTS
14 # https://www.ubuntu.com/info/release-end-of-life
15
16 @node Build instructions for Gentoo
17 @subsection Build instructions for Gentoo
18
19
20 This page describes how to install GNUnet 0.9 on Gentoo.
21
22 Since the GNUnet 0.9 ebuilds are not in the official portage tree yet, we need
23 to add them to the local portage overlay. All the commands below should be
24 executed as root.
25
26 Specify your local portage directory in the /etc/make.conf, for example:@
27 @code{$ echo 'PORTDIR_OVERLAY="/usr/local/portage"' >> /etc/make.conf}
28
29 Create directories for the ebuilds:@
30 @code{$ mkdir -p /usr/local/portage/media-libs/libextractor /usr/local/portage/net-p2p/gnunet/files}
31
32 Download the latest ebuilds, init and config files from here and put them into
33 respective directories:@
34 @code{$ cp libextractor-0.6.2.ebuild /usr/local/portage/media-libs/libextractor@
35  $ cp gnunet-0.9.2.ebuild /usr/local/portage/net-p2p/gnunet@
36  $ cp gnunet-0.9.2.conf gnunet-0.9.2.confd gnunet-0.9.2.initd /usr/local/portage/net-p2p/gnunet/files}
37
38 Generate Manifest files for the ebuilds:@
39 @code{$ cd /usr/local/portage/net-p2p/gnunet@
40  $ ebuild gnunet-0.9.2.ebuild digest@
41  $ cd /usr/local/portage/media-libs/libextractor@
42  $ ebuild libextractor-0.6.2.ebuild digest}
43
44 Unmask GNUnet and dependencies in the /etc/portage/package.keywords. For
45 example, if you use x86-64 architecture, add the following lines:@
46 @code{net-p2p/gnunet ~amd64@
47  media-libs/libextractor ~amd64@
48  net-libs/libmicrohttpd ~amd64@
49  net-misc/curl ~amd64}
50
51 Add either sqlite or mysql USE-flag in the /etc/portage/package.use:@
52 @code{net-p2p/gnunet sqlite}
53
54 Now everything is ready to install GNUnet:@
55 @code{$ emerge -av gnunet}
56
57 Use /etc/init.d/gnunet to start/stop GNUnet.
58
59
60
61
62 @node Basic Installation for Fedora/PlanetLab nodes running Fedora 8 .
63 @subsection Basic Installation for Fedora/PlanetLab nodes running Fedora 8 .
64 @c %**end of header
65
66 @strong{This documentation is outdated and not valid for GNUnet 0.10.0!}@
67  GNUnet installation on Fedora 8/Planetlab nodes can be done as following:
68
69 1. Install the build tools to build GNUnet@
70 @example
71 sudo yum -y -t --nogpgcheck install gcc make automake autoconf gettext-devel \
72 texinfo zlib-devel subversion@
73 @end example
74
75 2. Install the GNUnet dependencies@
76 @example
77 sudo yum -y -t --nogpgcheck install gnutls-devel gnutls-devel libgcrypt-devel \
78 sqlite-devel postgresql-devel mysql-devel libgsf-devel libvorbis-devel \
79 libidn-devel
80 @end example
81
82 3. Install outdated dependencies from source@
83  libtool@
84 @code{@
85  wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz@
86  tar xvfz libtool-2.4.2.tar.gz@
87  cd libtool-2.4.2@
88  ./configure@
89  sudo make install@
90 }
91
92 libtool@
93 @code{@
94  wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz@
95  tar xvfz libtool-2.4.2.tar.gz@
96  cd libtool-2.4.2@
97  ./configure@
98  sudo make install@
99 }
100
101 glpk@
102 @code{@
103  wget http://ftp.gnu.org/gnu/glpk/glpk-4.47.tar.gz@
104  tar xvfz glpk-4.47.tar.gz@
105  cd glpk-4.47@
106  ./configure@
107  sudo make install@
108 }
109
110 libgpg-error@
111 @code{@
112  wget ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.10.tar.bz2@
113  tar xvfj libgpg-error-1.10.tar.bz2@
114  cd libgpg-error-1.10@
115  ./configure --prefix=/usr@
116  sudo make install@
117 }
118
119 libgcrypt@
120 @code{@
121  wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.5.0.tar.bz2@
122  tar xvfj libgcrypt-1.5.0.tar.tar.bz2@
123  cd libgcrypt-1.5.0@
124  ./configure --prefix=/usr@
125  sudo make install@
126 }
127
128 libcurl@
129 @code{@
130  wget http://curl.haxx.se/download/curl-7.26.0.tar.gz@
131  tar xvfz curl-7.26.0.tar.gz@
132  cd curl-7.26.0@
133  ./configure@
134  sudo make install@
135 }
136
137 libunistring@
138 @code{@
139  wget http://ftp.gnu.org/gnu/libunistring/libunistring-0.9.3.tar.gz@
140  tar xvfz libunistring-0.9.3.tar.gz@
141  cd libunistring-0.9.3@
142  ./configure@
143  sudo make install@
144 }
145
146 4. Remove conflicting packages@
147 @code{@
148  sudo rpm -e --nodeps libgcrypt libgpg-error@
149 }
150
151 4. Install libextractor@
152 @code{@
153  wget ftp://ftp.gnu.org/gnu/libextractor/libextractor-0.6.3.tar.gz@
154  tar xvfz libextractor-0.6.3.tar.gz@
155  cd libextractor-0.6.3@
156  ./configure@
157  sudo make install@
158 }
159
160 5. Install libmicrohttpd and dependencies
161
162 nettle@
163 @code{@
164  wget http://ftp.gnu.org/gnu/nettle/nettle-2.5.tar.gz@
165  tar xvfz nettle-2.5.tar.gz@
166  cd nettle-2.5@
167  ./configure@
168  sudo make install@
169 }
170
171 GnuTLS@
172 @code{@
173  wget http://ftp.gnu.org/gnu/gnutls/gnutls-2.12.20.tar.bz2@
174  tar xvfj gnutls-2.12.20.tar.bz2@
175  cd gnutls-2.12.20@
176  ./configure --without-p11-kit@
177  sudo make install@
178 }
179
180 libmicrohttpd@
181 @code{@
182  wget ftp://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.21.tar.gz@
183  tar xvfz libmicrohttpd-0.9.21.tar.gz@
184  cd libmicrohttpd-0.9.21@
185  ./configure@
186  sudo make install@
187 }
188
189 6. Set GNUnet prefix and add to PATH@
190 @code{@
191  export GNUNET_PREFIX=@
192  export PATH=$PATH:$GNUNET_PREFIX/bin@
193 }
194
195 7. Install GNUnet from svn@
196 @example
197  export LD_LIBRARY_PATH=/usr/local/lib@
198  svn co https://gnunet.org/svn/gnunet@
199  cd gnunet@
200  libtoolize@
201  ./bootstrap@
202  ./configure --prefix=$GNUNET_PREFIX --with-extractor=/usr/local \
203  --with-curl=/usr/local --with-mysql=/usr/lib/mysql --enable-logging=verbose@
204  make install@
205 @end example
206
207 Done!
208
209
210 @node Build instructions for FreeBSD 8
211 @subsection Build instructions for FreeBSD 8
212
213 To get GNUnet 0.9 to compile on FreeBSD (at least FreeBSD 8.0):@ in order to
214 install the library @code{libiconv}, at first change the directory to your
215 ports directory, e.g.@
216 @code{@
217  $ cd /usr/ports/@
218 }@
219  following that, go to the install file of @code{libiconv} and install it,@
220 @code{@
221  $ cd converters/libiconv,@
222  $ make install@
223 }
224
225 after that, change the directory to where you will check out
226 @code{libextractor} and GNUnet, and install latest @code{libextractor},@
227  first of all, checkout @code{libextractor}, e.g.@
228 @code{@
229  $ svn co https://gnunet.org/svn/Extractor@
230 }@
231  then change the directory into which it was checked out, e.g.@
232 @code{@
233  $ cd Extractor@
234 }@
235  before the installation, you should do following steps,@
236
237 @example
238 $ ./bootstrap@
239 $ ./configure --with-ltdl-include=/usr/local/include \
240   --with-ltdl-lib=/usr/local/lib@
241 @end example
242
243 if these steps complete successfully, you can install the library,@
244
245 @example
246 $ make install@
247 @end example
248
249 to check out the GNUnet, you should do the similar steps as
250 @code{libextractor}, firstly, change back to starting directory, e.g.@
251 @code{@
252  $ cd ../@
253 }@
254  Set the following environmental variables:@
255 @code{@
256  export CPPFLAGS="-I/usr/local/include"@
257  export LDFLAGS="-L/usr/local/lib"@
258 }@
259  next, checkout GNUnet using@
260 @code{@
261  $ svn co https://gnunet.org/svn/gnunet@
262 }@
263  then change directory into newly checked out directory,@
264 @code{@
265  $ cd gnunet@
266 }@
267  at last, start to install GNUnet,@
268
269 @example
270  $ ./bootstrap@
271  $ ./configure --with-ltdl-include=/usr/local/include \
272    --with-ltdl-lib=/usr/local/lib --with-extractor=/usr/local
273
274 ## NOTE: you may not need the --with-extractor option!@
275
276 $ make install
277 @end example
278
279
280
281 @node Basic installation for Mac OS X
282 @subsection Basic installation for Mac OS X
283
284 This documentation may be outdated!
285
286 This page is providing guidelines for users trying to install GNUnet on Mac OS
287 X.@ Mainly users trying to install GNUnet by building source code are the most
288 welcome readers.@ The steps below are tested on an Intel Architecture running
289 Mac OS X Tiger (10.4.11). Ideally they should work on other Mac boxes with
290 different configurations as all the configuration done for it is dependent on
291 @uref{http://www.macports.org/, MacPorts}
292
293 For having GNUnet installed successfully, some dependencies should be firstly
294 resolved:
295
296 @itemize @bullet
297
298 @item
299 Install/Update your @uref{http://developer.apple.com/tools/xcode/, Xcode}
300 version 3.2.1 or later for Snow Leopard, 3.1.4 or later for Leopard, or 2.5 for
301 Tiger. 
302
303 @item
304 Download and install @uref{http://www.macports.org/, MacPorts}.@
305 Now you are ready for installing GNunet dependencies. 
306
307 @item
308 First, you'd better make sure that: /opt/local/bin and /opt/local/sbin are
309 available in your PATH. (For doing so, open a terminal and type:@
310
311 @example 
312 $ echo $PATH 
313 @end example
314
315 and examine the output of it). If the paths are not available in your
316 environment, you have to add them (You can add them by editing your .profile
317 file in your home directory, append them to the PATH line). Then type:
318 @example
319 $ source ~/.profile
320 @end example
321
322 and re-examine the echo command output.
323
324 @item
325 Use MacPorts to download and install the dependencies:@
326 The libraries are: 
327
328 @itemize @bullet
329
330 @item
331 @uref{http://trac.macports.org/browser/trunk/dports/www/libmicrohttpd/Portfile, libmicrohttpd.}
332
333 @item
334 @uref{http://trac.macports.org/browser/trunk/dports/devel/libgcrypt/Portfile, libgcrypt.}
335
336 @item
337 @uref{http://trac.macports.org/browser/trunk/dports/net/curl/Portfile, libcurl.}
338
339 @item
340 @uref{http://trac.macports.org/browser/trunk/dports/devel/libtool/Portfile, libltdl.}
341
342 @item
343 @uref{http://trac.macports.org/browser/trunk/dports/databases/sqlite3/Portfile, SQlite.}
344
345 @item
346 libunistring 
347
348 @item
349 glpk 
350
351 @end itemize
352
353 The port command is as follows:@
354 @example
355 port install libmicrohttpd libgcrypt curl libtool sqlite3 linunistring glpk
356 @end example
357 One of the dependencies, the libextractor, should be explicitly installed,
358 since the version available from macports is outdated to work with GNUnet. To
359 install the latest libextractor:
360 @itemize @bullet
361
362
363 @item
364 Install the Subversion Client:@
365 For more information about Subversion visit:
366 @uref{http://subversion.tigris.org/, http://subversion.tigris.org/}
367
368 @example
369 # port install subversion
370 @end example
371
372
373 @item
374 Use Subversion to download the latest Extractor: 
375 @example
376 $ svn checkout https://gnunet.org/svn/Extractor
377 @end example
378
379
380 @item
381 Go to the installation directory of the Extractor, compile and install it: 
382 @example
383 $ ./bootstrap
384 $ export CPPFLAGS="-I/opt/local/include"
385 $ export  LDFLAGS="-L/opt/local/lib" 
386 $ ./configure --prefix=/opt/local
387 $ make
388 # make install
389 @end example
390
391 @end itemize
392
393
394 @item
395 Now, your system is ready to install GNunet. If you downloaded GNUnet by
396 checking it out from svn, you should start by running the bootstrap script.
397 Open a terminal pointing to the GNUnet directory and type:@
398
399 @example
400 $ ./bootstrap
401 @end example
402
403
404 @item
405 Run the configure script: 
406 @example
407 $ export CPPFLAGS="-I/opt/local/include" 
408 $ export LDFLAGS="-L/opt/local/lib" 
409 $ ./configure --prefix=/tmp/gnunet_build
410 @end example
411
412
413 GNUnet will be installed in the directory /tmp/gnunet_build (Of course that
414 installation path can be changed).@ The CPPFLAGS and LDFLAGS are mentioned in
415 order to inform the compiler and the linker to lookup headers and libraries in
416 /opt/local/include and /opt/local/lib.
417
418 @item
419 Compile@
420
421 @example
422 $ make
423 @end example
424
425
426 @item
427 Install GNUnet 
428 @example
429 # make install
430 @end example
431
432 @end itemize
433
434
435 @node Basic Installation for Fedora/PlanetLab nodes running Fedora 12
436 @subsection Basic Installation for Fedora/PlanetLab nodes running Fedora 12
437
438
439 @strong{This documentation is outdated and not valid for GNUnet 0.10.0!}@
440
441 GNUnet installation on Fedora 8/Planetlab nodes can be done as following:
442
443 1. Install the build tools to build GNUnet@
444 @example
445 sudo yum -y -t --nogpgcheck install gcc make autoconf gettext-devel \
446 texinfo subversion@
447 @end example
448
449 2. Install the GNUnet dependencies@
450 @example
451 sudo yum -y -t --nogpgcheck install libunistring-devel libunistring-devel \
452 libgcrypt-devel zlib-devel sqlite-devel postgresql-devel mysql-devel \
453 libgsf-devel libvorbis-devel@
454 @end example
455
456 3. Install outdated dependencies from source@
457 libtool@
458 @example
459 wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz@
460 tar xvfz libtool-2.4.2.tar.gz@
461 cd libtool-2.4.2@
462 ./configure@
463 sudo make install@
464 @end example
465
466 glpk@
467 @example
468 wget http://ftp.gnu.org/gnu/glpk/glpk-4.47.tar.gz@
469 tar xvfz glpk-4.47.tar.gz@
470 cd glpk-4.47@
471 ./configure@
472 sudo make install@
473 @end example
474
475 libcurl@
476 @example
477 wget http://curl.haxx.se/download/curl-7.26.0.tar.gz@
478 tar xvfz curl-7.26.0.tar.gz@
479 cd curl-7.26.0@
480 ./configure@
481 sudo make install@
482 @end example
483
484 4. Install libextractor@
485 @example
486 svn co https://gnunet.org/svn/libextractor@
487 cd libextractor@
488 libtoolize@
489 ./bootstrap@
490 ./configure@
491 sudo make install@
492 @end example
493
494 5. Install libmicrohttpd@
495 @example
496 svn co https://gnunet.org/svn/libmicrohttpd@
497 cd libmicrohttpd@
498 libtoolize@
499 ./bootstrap@
500 ./configure@
501 sudo make install@
502 @end example
503
504 6. Set GNUnet prefix and add to PATH@
505 @example
506 export GNUNET_PREFIX=@
507 export PATH=$PATH:$GNUNET_PREFIX/bin@
508 @end example
509
510 7. Install GNUnet from svn@
511 @example
512 export LD_LIBRARY_PATH=/usr/local/lib@
513 svn co https://gnunet.org/svn/gnunet@
514 cd gnunet@
515 libtoolize@
516 ./bootstrap@
517 ./configure --prefix=$GNUNET_PREFIX --with-extractor=/usr \
518  --with-mysql=/usr/lib/mysql --enable-logging=verbose@
519 make install@
520 @end example
521
522 Done!
523
524
525 @node Basic Installation for Fedora/PlanetLab nodes running Fedora 8 .
526 @subsection Basic Installation for Fedora/PlanetLab nodes running Fedora 8 .
527 @c %**end of header
528
529 @strong{This documentation is outdated and not valid for GNUnet 0.10.0!}@
530  GNUnet installation on Fedora 8/Planetlab nodes can be done as following:
531
532 1. Install the build tools to build GNUnet@
533 @example
534 sudo yum -y -t --nogpgcheck install gcc make automake autoconf gettext-devel \
535 texinfo zlib-devel subversion@
536 @end example
537
538 2. Install the GNUnet dependencies@
539 @example
540 sudo yum -y -t --nogpgcheck install gnutls-devel gnutls-devel libgcrypt-devel \
541 sqlite-devel postgresql-devel mysql-devel libgsf-devel libvorbis-devel \
542 libidn-devel
543 @end example
544
545 3. Install outdated dependencies from source@
546  libtool@
547 @code{@
548  wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz@
549  tar xvfz libtool-2.4.2.tar.gz@
550  cd libtool-2.4.2@
551  ./configure@
552  sudo make install@
553 }
554
555 libtool@
556 @code{@
557  wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz@
558  tar xvfz libtool-2.4.2.tar.gz@
559  cd libtool-2.4.2@
560  ./configure@
561  sudo make install@
562 }
563
564 glpk@
565 @code{@
566  wget http://ftp.gnu.org/gnu/glpk/glpk-4.47.tar.gz@
567  tar xvfz glpk-4.47.tar.gz@
568  cd glpk-4.47@
569  ./configure@
570  sudo make install@
571 }
572
573 libgpg-error@
574 @code{@
575  wget ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.10.tar.bz2@
576  tar xvfj libgpg-error-1.10.tar.bz2@
577  cd libgpg-error-1.10@
578  ./configure --prefix=/usr@
579  sudo make install@
580 }
581
582 libgcrypt@
583 @code{@
584  wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.5.0.tar.bz2@
585  tar xvfj libgcrypt-1.5.0.tar.tar.bz2@
586  cd libgcrypt-1.5.0@
587  ./configure --prefix=/usr@
588  sudo make install@
589 }
590
591 libcurl@
592 @code{@
593  wget http://curl.haxx.se/download/curl-7.26.0.tar.gz@
594  tar xvfz curl-7.26.0.tar.gz@
595  cd curl-7.26.0@
596  ./configure@
597  sudo make install@
598 }
599
600 libunistring@
601 @code{@
602  wget http://ftp.gnu.org/gnu/libunistring/libunistring-0.9.3.tar.gz@
603  tar xvfz libunistring-0.9.3.tar.gz@
604  cd libunistring-0.9.3@
605  ./configure@
606  sudo make install@
607 }
608
609 4. Remove conflicting packages@
610 @code{@
611  sudo rpm -e --nodeps libgcrypt libgpg-error@
612 }
613
614 4. Install libextractor@
615 @code{@
616  wget ftp://ftp.gnu.org/gnu/libextractor/libextractor-0.6.3.tar.gz@
617  tar xvfz libextractor-0.6.3.tar.gz@
618  cd libextractor-0.6.3@
619  ./configure@
620  sudo make install@
621 }
622
623 5. Install libmicrohttpd and dependencies
624
625 nettle@
626 @code{@
627  wget http://ftp.gnu.org/gnu/nettle/nettle-2.5.tar.gz@
628  tar xvfz nettle-2.5.tar.gz@
629  cd nettle-2.5@
630  ./configure@
631  sudo make install@
632 }
633
634 GnuTLS@
635 @code{@
636  wget http://ftp.gnu.org/gnu/gnutls/gnutls-2.12.20.tar.bz2@
637  tar xvfj gnutls-2.12.20.tar.bz2@
638  cd gnutls-2.12.20@
639  ./configure --without-p11-kit@
640  sudo make install@
641 }
642
643 libmicrohttpd@
644 @code{@
645  wget ftp://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.21.tar.gz@
646  tar xvfz libmicrohttpd-0.9.21.tar.gz@
647  cd libmicrohttpd-0.9.21@
648  ./configure@
649  sudo make install@
650 }
651
652 6. Set GNUnet prefix and add to PATH@
653 @code{@
654  export GNUNET_PREFIX=@
655  export PATH=$PATH:$GNUNET_PREFIX/bin@
656 }
657
658 7. Install GNUnet from svn@
659 @example
660  export LD_LIBRARY_PATH=/usr/local/lib@
661  svn co https://gnunet.org/svn/gnunet@
662  cd gnunet@
663  libtoolize@
664  ./bootstrap@
665  ./configure --prefix=$GNUNET_PREFIX --with-extractor=/usr/local \
666  --with-curl=/usr/local --with-mysql=/usr/lib/mysql --enable-logging=verbose@
667  make install@
668 @end example
669
670 Done!
671
672