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:
7 # - Gentoo with GNUnet 0.9
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
16 @node Build instructions for Gentoo
17 @subsection Build instructions for Gentoo
20 This page describes how to install GNUnet 0.9 on Gentoo.
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
26 Specify your local portage directory in the /etc/make.conf, for example:@
27 @code{$ echo 'PORTDIR_OVERLAY="/usr/local/portage"' >> /etc/make.conf}
29 Create directories for the ebuilds:@
30 @code{$ mkdir -p /usr/local/portage/media-libs/libextractor /usr/local/portage/net-p2p/gnunet/files}
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}
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}
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@
51 Add either sqlite or mysql USE-flag in the /etc/portage/package.use:@
52 @code{net-p2p/gnunet sqlite}
54 Now everything is ready to install GNUnet:@
55 @code{$ emerge -av gnunet}
57 Use /etc/init.d/gnunet to start/stop GNUnet.
62 @node Basic Installation for Fedora/PlanetLab nodes running Fedora 8 .
63 @subsection Basic Installation for Fedora/PlanetLab nodes running Fedora 8 .
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:
69 1. Install the build tools to build GNUnet@
71 sudo yum -y -t --nogpgcheck install gcc make automake autoconf gettext-devel \
72 texinfo zlib-devel subversion@
75 2. Install the GNUnet dependencies@
77 sudo yum -y -t --nogpgcheck install gnutls-devel gnutls-devel libgcrypt-devel \
78 sqlite-devel postgresql-devel mysql-devel libgsf-devel libvorbis-devel \
82 3. Install outdated dependencies from source@
85 wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz@
86 tar xvfz libtool-2.4.2.tar.gz@
94 wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz@
95 tar xvfz libtool-2.4.2.tar.gz@
103 wget http://ftp.gnu.org/gnu/glpk/glpk-4.47.tar.gz@
104 tar xvfz glpk-4.47.tar.gz@
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@
121 wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.5.0.tar.bz2@
122 tar xvfj libgcrypt-1.5.0.tar.tar.bz2@
124 ./configure --prefix=/usr@
130 wget http://curl.haxx.se/download/curl-7.26.0.tar.gz@
131 tar xvfz curl-7.26.0.tar.gz@
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@
146 4. Remove conflicting packages@
148 sudo rpm -e --nodeps libgcrypt libgpg-error@
151 4. Install libextractor@
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@
160 5. Install libmicrohttpd and dependencies
164 wget http://ftp.gnu.org/gnu/nettle/nettle-2.5.tar.gz@
165 tar xvfz nettle-2.5.tar.gz@
173 wget http://ftp.gnu.org/gnu/gnutls/gnutls-2.12.20.tar.bz2@
174 tar xvfj gnutls-2.12.20.tar.bz2@
176 ./configure --without-p11-kit@
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@
189 6. Set GNUnet prefix and add to PATH@
191 export GNUNET_PREFIX=@
192 export PATH=$PATH:$GNUNET_PREFIX/bin@
195 7. Install GNUnet from svn@
197 export LD_LIBRARY_PATH=/usr/local/lib@
198 svn co https://gnunet.org/svn/gnunet@
202 ./configure --prefix=$GNUNET_PREFIX --with-extractor=/usr/local \
203 --with-curl=/usr/local --with-mysql=/usr/lib/mysql --enable-logging=verbose@
210 @node Build instructions for FreeBSD 8
211 @subsection Build instructions for FreeBSD 8
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.@
219 following that, go to the install file of @code{libiconv} and install it,@
221 $ cd converters/libiconv,@
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.@
229 $ svn co https://gnunet.org/svn/Extractor@
231 then change the directory into which it was checked out, e.g.@
235 before the installation, you should do following steps,@
239 $ ./configure --with-ltdl-include=/usr/local/include \
240 --with-ltdl-lib=/usr/local/lib@
243 if these steps complete successfully, you can install the library,@
249 to check out the GNUnet, you should do the similar steps as
250 @code{libextractor}, firstly, change back to starting directory, e.g.@
254 Set the following environmental variables:@
256 export CPPFLAGS="-I/usr/local/include"@
257 export LDFLAGS="-L/usr/local/lib"@
259 next, checkout GNUnet using@
261 $ svn co https://gnunet.org/svn/gnunet@
263 then change directory into newly checked out directory,@
267 at last, start to install GNUnet,@
271 $ ./configure --with-ltdl-include=/usr/local/include \
272 --with-ltdl-lib=/usr/local/lib --with-extractor=/usr/local
274 ## NOTE: you may not need the --with-extractor option!@
281 @node Basic installation for Mac OS X
282 @subsection Basic installation for Mac OS X
284 This documentation may be outdated!
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}
293 For having GNUnet installed successfully, some dependencies should be firstly
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
304 Download and install @uref{http://www.macports.org/, MacPorts}.@
305 Now you are ready for installing GNunet dependencies.
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:@
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:
322 and re-examine the echo command output.
325 Use MacPorts to download and install the dependencies:@
331 @uref{http://trac.macports.org/browser/trunk/dports/www/libmicrohttpd/Portfile, libmicrohttpd.}
334 @uref{http://trac.macports.org/browser/trunk/dports/devel/libgcrypt/Portfile, libgcrypt.}
337 @uref{http://trac.macports.org/browser/trunk/dports/net/curl/Portfile, libcurl.}
340 @uref{http://trac.macports.org/browser/trunk/dports/devel/libtool/Portfile, libltdl.}
343 @uref{http://trac.macports.org/browser/trunk/dports/databases/sqlite3/Portfile, SQlite.}
353 The port command is as follows:@
355 port install libmicrohttpd libgcrypt curl libtool sqlite3 linunistring glpk
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:
364 Install the Subversion Client:@
365 For more information about Subversion visit:
366 @uref{http://subversion.tigris.org/, http://subversion.tigris.org/}
369 # port install subversion
374 Use Subversion to download the latest Extractor:
376 $ svn checkout https://gnunet.org/svn/Extractor
381 Go to the installation directory of the Extractor, compile and install it:
384 $ export CPPFLAGS="-I/opt/local/include"
385 $ export LDFLAGS="-L/opt/local/lib"
386 $ ./configure --prefix=/opt/local
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:@
405 Run the configure script:
407 $ export CPPFLAGS="-I/opt/local/include"
408 $ export LDFLAGS="-L/opt/local/lib"
409 $ ./configure --prefix=/tmp/gnunet_build
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.
435 @node Basic Installation for Fedora/PlanetLab nodes running Fedora 12
436 @subsection Basic Installation for Fedora/PlanetLab nodes running Fedora 12
439 @strong{This documentation is outdated and not valid for GNUnet 0.10.0!}@
441 GNUnet installation on Fedora 8/Planetlab nodes can be done as following:
443 1. Install the build tools to build GNUnet@
445 sudo yum -y -t --nogpgcheck install gcc make autoconf gettext-devel \
449 2. Install the GNUnet dependencies@
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@
456 3. Install outdated dependencies from source@
459 wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz@
460 tar xvfz libtool-2.4.2.tar.gz@
468 wget http://ftp.gnu.org/gnu/glpk/glpk-4.47.tar.gz@
469 tar xvfz glpk-4.47.tar.gz@
477 wget http://curl.haxx.se/download/curl-7.26.0.tar.gz@
478 tar xvfz curl-7.26.0.tar.gz@
484 4. Install libextractor@
486 svn co https://gnunet.org/svn/libextractor@
494 5. Install libmicrohttpd@
496 svn co https://gnunet.org/svn/libmicrohttpd@
504 6. Set GNUnet prefix and add to PATH@
506 export GNUNET_PREFIX=@
507 export PATH=$PATH:$GNUNET_PREFIX/bin@
510 7. Install GNUnet from svn@
512 export LD_LIBRARY_PATH=/usr/local/lib@
513 svn co https://gnunet.org/svn/gnunet@
517 ./configure --prefix=$GNUNET_PREFIX --with-extractor=/usr \
518 --with-mysql=/usr/lib/mysql --enable-logging=verbose@
525 @node Basic Installation for Fedora/PlanetLab nodes running Fedora 8 .
526 @subsection Basic Installation for Fedora/PlanetLab nodes running Fedora 8 .
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:
532 1. Install the build tools to build GNUnet@
534 sudo yum -y -t --nogpgcheck install gcc make automake autoconf gettext-devel \
535 texinfo zlib-devel subversion@
538 2. Install the GNUnet dependencies@
540 sudo yum -y -t --nogpgcheck install gnutls-devel gnutls-devel libgcrypt-devel \
541 sqlite-devel postgresql-devel mysql-devel libgsf-devel libvorbis-devel \
545 3. Install outdated dependencies from source@
548 wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz@
549 tar xvfz libtool-2.4.2.tar.gz@
557 wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz@
558 tar xvfz libtool-2.4.2.tar.gz@
566 wget http://ftp.gnu.org/gnu/glpk/glpk-4.47.tar.gz@
567 tar xvfz glpk-4.47.tar.gz@
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@
584 wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.5.0.tar.bz2@
585 tar xvfj libgcrypt-1.5.0.tar.tar.bz2@
587 ./configure --prefix=/usr@
593 wget http://curl.haxx.se/download/curl-7.26.0.tar.gz@
594 tar xvfz curl-7.26.0.tar.gz@
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@
609 4. Remove conflicting packages@
611 sudo rpm -e --nodeps libgcrypt libgpg-error@
614 4. Install libextractor@
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@
623 5. Install libmicrohttpd and dependencies
627 wget http://ftp.gnu.org/gnu/nettle/nettle-2.5.tar.gz@
628 tar xvfz nettle-2.5.tar.gz@
636 wget http://ftp.gnu.org/gnu/gnutls/gnutls-2.12.20.tar.bz2@
637 tar xvfj gnutls-2.12.20.tar.bz2@
639 ./configure --without-p11-kit@
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@
652 6. Set GNUnet prefix and add to PATH@
654 export GNUNET_PREFIX=@
655 export PATH=$PATH:$GNUNET_PREFIX/bin@
658 7. Install GNUnet from svn@
660 export LD_LIBRARY_PATH=/usr/local/lib@
661 svn co https://gnunet.org/svn/gnunet@
665 ./configure --prefix=$GNUNET_PREFIX --with-extractor=/usr/local \
666 --with-curl=/usr/local --with-mysql=/usr/lib/mysql --enable-logging=verbose@