|
@@ -6,10 +6,11 @@ ToC
|
|
|
* ToC
|
|
|
* What is GNUnet?
|
|
|
* Dependencies
|
|
|
- o direct dependencies
|
|
|
- o test suite dependencies
|
|
|
- o optional dependencies
|
|
|
- o autotools
|
|
|
+ o Build tools
|
|
|
+ o Dependencies of GNUnet
|
|
|
+ o Dependencies of optional components/functionality
|
|
|
+ o Test suite dependencies
|
|
|
+ o Recommended developer tools
|
|
|
* Notes on setuid
|
|
|
* Scope of Operating System support
|
|
|
* How to install
|
|
@@ -56,8 +57,20 @@ The dependencies for building GNUnet will require around 0.74 GiB
|
|
|
diskspace. GNUnet itself will require 8 - 9.2 MiB depending on
|
|
|
configuration.
|
|
|
|
|
|
-These are the direct dependencies for running GNUnet:
|
|
|
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+Build tools for compiling GNUnet from source:
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+
|
|
|
+- gcc or clang
|
|
|
+- autoconf >= 2.59 (building from git)
|
|
|
+- automake >= 1.11.1 (building from git)
|
|
|
+- libtool >= 2.2
|
|
|
+- makeinfo >= 4.8
|
|
|
+- make[*3]
|
|
|
+- pkgconf or pkg-config
|
|
|
+- Texinfo >= 5.2 [*1]
|
|
|
+
|
|
|
+Direct dependencies of GNUnet:
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
- Bash (for some scripts)
|
|
|
- gettext
|
|
@@ -71,35 +84,57 @@ These are the direct dependencies for running GNUnet:
|
|
|
- libgcrypt >= 1.6
|
|
|
- libunistring >= 0.9.2
|
|
|
- libidn:
|
|
|
- * libidn2 (prefered)
|
|
|
+ * libidn2 (preferred)
|
|
|
or
|
|
|
* libidn >= 1.0
|
|
|
- libmicrohttpd >= 0.9.63
|
|
|
- libjansson
|
|
|
-- makeinfo >= 4.8
|
|
|
-- make[*3]
|
|
|
- nss (certutil binary, for
|
|
|
gnunet-gns-proxy-setup-ca)
|
|
|
- openssl >= 1.0 (binary, used to generate
|
|
|
X.509 certificate
|
|
|
for gnunet-gns-proxy-setup-ca)
|
|
|
-- pkgconf or pkg-config
|
|
|
-- A Posix shell (for some scripts)
|
|
|
-- Texinfo >= 5.2 [*1]
|
|
|
- libltdl >= 2.2 (part of GNU libtool)
|
|
|
-- 1 or more databases:
|
|
|
- * sqlite >= 3.8 (default database, required)
|
|
|
- and/or
|
|
|
- * mysql >= 5.1 (alternative to sqlite)
|
|
|
- and/or
|
|
|
- * postgres >= 9.5 (alternative to sqlite)
|
|
|
+- sqlite >= 3.8 (default database, required)
|
|
|
- which (contrib/apparmor(?), gnunet-bugreport,
|
|
|
and possibly more)
|
|
|
- zlib
|
|
|
- libsodium >= 1.0.17 (for elliptic curve cryptography)
|
|
|
+- certtool (gnutls or openssl) (certtool binary (for convenient
|
|
|
+ installation of GNS proxy))
|
|
|
|
|
|
-These are the dependencies for GNUnet's testsuite:
|
|
|
+Dependencies of optional components/functionality:
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+- Database plugins (alternatives to sqlite):
|
|
|
+ * mysql >= 5.1
|
|
|
+ * postgres >= 9.5
|
|
|
+- Transport plugins:
|
|
|
+ * bluez (bluetooth transport)
|
|
|
+- Conversation service:
|
|
|
+ * libopus >= 1.0.1
|
|
|
+ * libpulse >= 2.0
|
|
|
+ * libogg >= 1.3.0
|
|
|
+- File-sharing metadata (highly recommended[*5]):
|
|
|
+ * libextractor >= 0.6.1
|
|
|
+- NAT uPnP support:
|
|
|
+ * miniupnpc
|
|
|
+- gnunet-qr (Read/write GNUnet URIs from/to QR codes):
|
|
|
+ * libzbar >= 0.10
|
|
|
+- gnunet-bcd (GNS business card generator):
|
|
|
+ * TeX Live >= 2012 (for gnunet-bcd[*])
|
|
|
+- Documentation:
|
|
|
+ * TeX Live >= 2012 (for gnunet-bcd[*])
|
|
|
+ * texi2mdoc (for automatic mdoc generation [*2], not
|
|
|
+ the texi2mdoc script distributed with
|
|
|
+ autogen but the texi2mdoc C application)
|
|
|
+- Attribute-Based Encryption (experimental):
|
|
|
+ * libpbc >= 0.5.14
|
|
|
+ * libgabe
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+Additional dependencies to run the GNUnet testsuite:
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
- Bash (for some tests[*4])
|
|
|
- A Posix Shell (for some tests)
|
|
@@ -114,41 +149,16 @@ These are the dependencies for GNUnet's testsuite:
|
|
|
- which
|
|
|
|
|
|
|
|
|
-These are the optional dependencies:
|
|
|
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+Recommended software for developer tools:
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
- awk (for linting tests)
|
|
|
- Bash (for Docker and Vagrant)
|
|
|
-- bluez (for bluetooth support)
|
|
|
- grof (for linting of man pages)
|
|
|
-- libextractor >= 0.6.1 (highly recommended[*5])
|
|
|
-- libopus >= 1.0.1 (for conversation tool)
|
|
|
-- libpulse >= 2.0 (for conversation tool)
|
|
|
-- libogg >= 1.3.0 (for conversation tool)
|
|
|
-- libnss (certtool binary (for convenient
|
|
|
- installation of GNS proxy))
|
|
|
-- libzbar >= 0.10 (for gnunet-qr)
|
|
|
-- libpbc >= 0.5.14 (for Attribute-Based Encryption and
|
|
|
- Identity Provider functionality)
|
|
|
-- libgabe (for Attribute-Based Encryption and
|
|
|
- Identity Provider functionality, from
|
|
|
- https://github.com/schanzen/libgabe)
|
|
|
- mandoc (for linting of man pages, generation of
|
|
|
html output of man pages (not part of
|
|
|
the regular build))
|
|
|
-- miniupnpc
|
|
|
- perl5 (for some utilities)
|
|
|
-- TeX Live >= 2012 (for gnunet-bcd[*])
|
|
|
-- texi2mdoc (for automatic mdoc generation [*2], not
|
|
|
- the texi2mdoc script distributed with
|
|
|
- autogen but the texi2mdoc C application)
|
|
|
-
|
|
|
-Recommended autotools for compiling the Git version are:
|
|
|
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
-
|
|
|
-- autoconf >= 2.59
|
|
|
-- automake >= 1.11.1
|
|
|
-- libtool >= 2.2
|
|
|
|
|
|
|
|
|
[*] Mandatory for compiling the info output of the documentation,
|