X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=doc%2Fgnunet-c-tutorial.tex;h=8ad4d30190a1dc9217ed1635fa5bb3b1a5f2e576;hb=68403fa780bf94ace2ebc13c2c09463cbbc0b57c;hp=659b869808e6ef58b95f3b6d627b6eda1c0b99ea;hpb=7ad2a85263f1aee281abda34c044df04f0e65a5b;p=oweals%2Fgnunet.git diff --git a/doc/gnunet-c-tutorial.tex b/doc/gnunet-c-tutorial.tex index 659b86980..8ad4d3019 100644 --- a/doc/gnunet-c-tutorial.tex +++ b/doc/gnunet-c-tutorial.tex @@ -103,8 +103,25 @@ $ cd gnunet $ ./bootstrap \end{lstlisting} +The remainder of this tutorial assumes that you have SVN HEAD checked out. \subsection{Compiling and Installing GNUnet} + +First, you need to install the latest {\tt + libgnupgerror}\footnote{\url{ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.11.tar.bz2}} +and {\tt libgcrypt} version from Git. The current GNUnet code uses +ECC functions not available in any released version of libgcrypt. + +\lstset{language=bash} +\begin{lstlisting} +$ git clone git://git.gnupg.org/libgcrypt.git +$ cd libgcrypt +$ ./autogen.sh +$ ./configure +$ sudo make install +$ sudo ldconfig +\end{lstlisting} + \label{sub:install} Assuming all dependencies are installed, the following commands will compile and install GNUnet in your home directory. You can specify the directory where GNUnet will be installed by changing the \lstinline|--prefix| value when calling \lstinline|./configure|. If you do not specifiy a prefix, GNUnet is installed in the directory \lstinline|/usr/local|. When developing new applications you may want to enable @@ -295,7 +312,10 @@ Now you have to edit {\tt peer2.conf} and change: \begin{itemize} \itemsep0em \item{\texttt{SERVICEHOME} under \texttt{PATHS}} - \item{Every value for ``\texttt{PORT}'' (add 10000) in any section (if \texttt{PORT} is enabled, may be disabled using "\#") } + \item{Every (uncommented) value for ``\texttt{PORT}'' (add 10000) in any + section (the option may be commented out if \texttt{PORT} is + prefixed by "\#", in this case, UNIX domain sockets are used + and the PORT option does not need to be touched) } \item{Every value for ``\texttt{UNIXPATH}'' in any section (e.g. by adding a "-p2" suffix)} \end{itemize} to a fresh, unique value. Make sure that the \texttt{PORT} numbers stay @@ -402,7 +422,7 @@ The source code for the above listing can be found at \begin{lstlisting} $ export CPPFLAGS="-I/path/to/gnunet/headers" $ export LDFLAGS="-L/path/to/gnunet/libraries" -$ gcc -o testbed-test -lgnunettestbed -lgnunetdht -lgnunetutil testbed_test.c +$ gcc $CPPFLAGS $LDFLAGS -o testbed-test testbed_test.c -lgnunettestbed -lgnunetdht -lgnunetutil \end{lstlisting} The \texttt{CPPFLAGS} and \texttt{LDFLAGS} are necessary if GNUnet is installed into a different directory other than \texttt{/usr/local}. @@ -447,8 +467,9 @@ disconnect from the service with the provided service handle (\texttt{op\_result \exercise{Find out how many peers you can run on your system.} -\exercise{Find out how to create connections from within {\tt run} and create a - 2D torus topology. Then use the DHT API to store and retrieve values in the +\exercise{Find out how to create a 2D torus topology by changing the + options in the configuration file.\footnote{See \url{https://gnunet.org/content/supported-topologies}} + Then use the DHT API to store and retrieve values in the network.} \section{Developing Applications}