You are here

Build instructions for Ubuntu 12.04 using Subversion

Primary tabs

Install the required build tools

First, make sure Subversion is installed on your system:

$ sudo apt-get install subversion

Install the essential buildtools:

$ sudo apt-get install automake autopoint autoconf libtool

Install libgcrypt 1.6 and libgpg-error


$ wget ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.12.tar.bz2
$ tar xf libgpg-error-1.12.tar.bz2
$ cd libgpg-error-1.12
$ ./configure
$ sudo make install
$ cd ..

Install gnutls with DANE support

$ wget http://www.lysator.liu.se/~nisse/archive/nettle-2.7.1.tar.gz
$ tar xf nettle-2.7.1.tar.gz
$ cd nettle-2.7.1
$ ./configure
$ sudo make install
$ cd ..

$ wget https://www.nlnetlabs.nl/downloads/ldns/ldns-1.6.16.tar.gz
$ tar xf ldns-1.6.16.tar.gz
$ cd ldns-1.6.16
$ ./configure
$ sudo make install
$ cd ..

$ wget https://unbound.net/downloads/unbound-1.4.21.tar.gz
$ tar xf unbound-1.4.21.tar.gz
$ cd unbound-1.4.21
$ ./configure
$ sudo make install
$ cd ..

$ wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/gnutls-3.1.17.tar.xz
$ tar xf gnutls-3.1.17.tar.xz
$ cd gnutls-3.1.17
$ ./configure
$ sudo make install
$ cd ..


$ wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.6.0.tar.bz2
$ tar xf libgcrypt-1.6.0.tar.bz2
$ cd libgcrypt-1.6.0
$ ./configure
$ sudo make install
$ cd ..

Install libgnurl


$ wget https://gnunet.org/sites/default/files/gnurl-7.34.0.tar.bz2
$ tar xf gnurl-7.34.0.tar.bz2
$ cd gnurl-7.34.0
$ ./configure --enable-ipv6 --with-gnutls --without-libssh2 --without-libmetalink --without-winidn --without-librtmp --without-nghttp2 --without-nss --without-cyassl --without-polarssl --without-ssl --without-winssl --without-darwinssl --disable-sspi --disable-ntlm-wb --disable-ldap --disable-rtsp --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smtp --disable-gopher --disable-file --disable-ftp
$ sudo make install
$ cd ..

Install libmicrohttpd from Subversion


$ svn co https://gnunet.org/svn/libmicrohttpd
$ cd libmicrohttpd/
$ ./bootstrap
$ ./configure
$ sudo make install
$ cd ..

Install libextractor from Subversion

Install libextractor dependencies:

$ sudo apt-get install zlib1g-dev libgsf-1-dev libmpeg2-4-dev libpoppler-dev libvorbis-dev libexiv2-dev libjpeg-dev libtiff-dev libgif-dev libvorbis-dev libflac-dev libsmf-dev g++

Build libextractor:

$ svn checkout https://gnunet.org/svn/Extractor
$ cd Extractor
$ ./bootstrap
$ ./configure
$ sudo make install
$ cd ..

Install GNUnet dependencies


$ sudo apt-get install libidn11-dev libunistring-dev libglpk-dev libpulse-dev libbluetooth-dev libsqlite-dev

Install libopus

$ wget http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz
$ tar xf opus-1.1.tar.gz
$ cd opus-1.1/
$ ./configure
$ sudo make install

Choose one or more database backends
SQLite3

$ sudo apt-get install libsqlite3-dev

MySQL

$ sudo apt-get install libmysqlclient-dev

PostgreSQL

$ sudo apt-get install libpq-dev postgresql

Build GNUnet

Configuring the installation path

You can specify the location of the GNUnet installation by setting the prefix when calling the configure script: --prefix=DIRECTORY

You have to set the GNUNET_PREFIX environment variable according to the prefix you set for the configure script and you have to add your GNUnet installation to your search path:

$ export GNUNET_PREFIX=DIRECTORY
$ export PATH=$PATH:DIRECTORY/bin

Configuring the system

Please make sure NOW that you have created a user and group 'gnunet'
and additionally a group 'gnunetdns':

$ sudo addgroup gnunet
$ sudo addgroup gnunetdns
$ sudo adduser gnunet

Each GNUnet user should be added to the 'gnunet' group (may
require fresh login to come into effect):

$ sudo useradd -G gnunet

Installing components requiring sudo permission

Some components, like the nss plugin required for GNS, may require root permissions. To allow these few components to be installed use:

$ ./configure --with-sudo

Build


$ svn checkout https://gnunet.org/svn/gnunet/
$ cd gnunet/
$ ./bootstrap

Use the required configure call including the optional installation prefix PREFIX or the sudo permissions
$ ./configure [ --with-sudo | --with-prefix=PREFIX ]
$ make; sudo make install

After installing it, you need to create an empty configuration file:
mkdir ~/.gnunet; touch ~/.gnunet/gnunet.conf

And finally you can start GNUnet with
$ gnunet-arm -s

Install the GNUnet-gtk user interface from Subversion

Install depencies:
$ sudo apt-get install libunique-3.0-dev libgladeui-dev libqrencode-dev

To build GNUnet (with an optional prefix)and execute :

$ svn checkout https://gnunet.org/svn/gnunet-gtk/
$ cd gnunet-gtk/
$ ./bootstrap
$ ./configure [--prefix=PREFIX] --with-gnunet=$GNUNET_PREFIX
$ make; sudo make install