[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r5416 - GNUnet/doc/manual
From: |
gnunet |
Subject: |
[GNUnet-SVN] r5416 - GNUnet/doc/manual |
Date: |
Mon, 6 Aug 2007 15:05:48 -0600 (MDT) |
Author: durner
Date: 2007-08-06 15:05:46 -0600 (Mon, 06 Aug 2007)
New Revision: 5416
Modified:
GNUnet/doc/manual/manual.texi
Log:
add section "Building from source"
Modified: GNUnet/doc/manual/manual.texi
===================================================================
--- GNUnet/doc/manual/manual.texi 2007-08-06 20:25:48 UTC (rev 5415)
+++ GNUnet/doc/manual/manual.texi 2007-08-06 21:05:46 UTC (rev 5416)
@@ -243,11 +243,11 @@
must be translated to machine code ("compiled") in order to get
actual software which can be executed. Compiling GNUnet from source is
usually not difficult, but it is certainly not as easy as installing a
-binary package. @xref{Compiling}. The advantage over binary packages is that
+binary package. @xref{Building from source}. The advantage over binary
packages is that
it is always possible to get the newest version of GNUnet this way. This is
not only true for regular releases of GNUnet, users are also able to
download the development source code the instant changes are made by the
-developers. @xref{SVN}.
+developers. @xref{Getting the source}.
@node Virtual appliance
@subsection Virtual appliance
@@ -261,4 +261,128 @@
However, the virtual appliance that is downloadable from the GNUnet homepage
also suffers from outdated binary packages.
address@hidden Building from source
address@hidden Building from source
+
+This chapter describes how to build the GNUnet software from source.
+
address@hidden Getting the source
address@hidden Getting the source
+
+Every release of GNUnet and its related tools (such as @sc{gnunet-gtk},
address@hidden and @sc{gnunet-fuse}) is at least provided in source form
+(@dfn{"source release"}).
+A @dfn{release} is a particular stage of development which is considered to
+be reasonably stable and usable. New releases are announced on the mailinglists
+(see @ref{Mailinglists}) and can be obtained from the download page at
address@hidden://gnunet.org/download.php3}, section "source code".
+
+If you experience problems with the latest release of you want to try the
+latest developments, you can
+get the source from the @sc{Subversion repository}. It always
+contains the latest development code and may thus be less stable and/or usable
than
+usual releases. Also, it requires additional preparation, see below.
+
+The current development version can be address@hidden subversion
+client is required; it is available from @uref{http://subversion.tigris.org}}
+using this command:
address@hidden
+svn checkout https://gnunet.org/svn/GNUnet
address@hidden
+The last line of the output will usually look similar to:
address@hidden
+Checked out revision 5403.
address@hidden
+
address@hidden Preparing the source
address@hidden Preparing the source
+
+One of GNUnet's technical goals is to run on as many operating systems and
+hardware architectures as possible. To achieve this goal, GNUnet uses
+GNU autoconf to adapt the source to a particular environment. Also, it
+helps to determine which optional and mandatory 3rd party libraries are
+installed.
+
+If GNUnet's source was retrieved from the Subversion
+repository, autoconf has to be initialized first by executing the
+following script in the GNUnet/ directory:
address@hidden
+./bootstrap
address@hidden
+Source releases are pre-bootstrapped, so there is no need to execute the
+above command there.
+
address@hidden Determining system specifics
address@hidden Determining system specifics
+
+The first step of the actual build process is to determine the specifics
+of the system GNUnet will run on. This is largely done automatically, but
+the process needs some hints under special circumstances.
+
+To see which libraries are missing, simply run
address@hidden
+./configure
address@hidden
+and watch the output.
+
address@hidden Dependency issues
address@hidden Dependency issues
+
+This section details the most common error messages and warnings that may be
encountered during
+execution of the GNU autoconf script "configure". It must be noted that
+automatic determination of installed libraries sometimes fails, see below on
how
+to point the configure script to a specific location. Also, so-called
address@hidden packages} are not sufficient, the build process requires the
+presence of @dfn{developer packages}, which usually have "-dev" appended to
+their names (e.g. "libcurl-dev").
+
address@hidden
+ @item GNUnet only works with shared libraries. address@hidden
+ The configure script has been invoked with the
parameter
+ --enable-shared=no. GNUnet plugins have to be
shared libraries, so this
+ will not work.
+ @item The VPN application cannot be compiled on your address@hidden
+ VPNs over GNUnet currently only work on Linux,
because the code uses
+ functionality that is only provided by this
operating system. This may
+ change in the future.
+ @item GNUnet needs address@hidden
+ GNU libgcrypt is employed by GNUnet for
cryptographic operations, so
+ this dependency is mandatory. libgcrypt is
available for most platforms,
+ installation should be straightforward.
+ @item GNUnet requires address@hidden
+ libcurl is used to download contact data of
other GNUnet peers to
+ establish connections to them. Because GNUnet
is usually used in
+ P2P mode, this dependency is marked as
mandatory. libcurl is available
+ on all platforms, installing it should be easy
to do.
+ @item GNUnet requires address@hidden
+ Metadata of files are retrieved via GNU
libextractor. It's available
+ for all platforms GNUnet runs on and its
dependencies are mostly
+ optional (even in binary form), so installing
should not be
+ problematic.
+ @item GNUnet requires address@hidden
+ GNU MP provides primitives for advanced
cryptography used by GNUnet.
+ The library has no dependecies besides the C
runtime library and
+ is available for a number for platforms.
Installing should be
+ trivial.
+ @item GNUnet requires address@hidden
+ zlib is a compression library used by GNUnet to
transmit data
+ in an efficient way. It has been ported to a
diverse set of
+ platforms and has no major dependencies itself.
Installation
+ should be easy.
+ @item GNUnet requires SQLite or address@hidden
+ GNUnet relies on relational databases for
content storage. If neither
+ SQLite nor a MySQL client is found on your
system, this error message
+ is issued. The former is easier to install (no
dependencies besides
+ the C runtime library, no manual setup
required), the latter provides
+ better performance.
+ @item Compiling GNUnet requires standard UNIX headers address@hidden
+ This error message is most likely issued on yet
unsupported platforms
+ or if this system lacks the pthreads package.
+ @item Compiling GNUnet requires gmp.h (from the GNU MP library,
libgmp)address@hidden
+ See "GNUnet requires libgmp" above.
+
address@hidden itemize
+
address@hidden
+
@bye
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r5416 - GNUnet/doc/manual,
gnunet <=