renaming to "Tahoe-LAFS" plus a few corrections and few small edits

[Imported from Trac: page InstallDetails, version 23]
zooko 2010-04-03 19:33:26 +00:00
parent cd1f40e246
commit ca8bd4b95d

@ -1,12 +1,12 @@
# Additional !Build/Install Documentation # Additional !Build/Install Documentation
Hopefully, the basic install docs in Hopefully, the basic install docs in
[docs/install.html](http://allmydata.org/source/tahoe/trunk/docs/install.html) [docs/install.html](http://tahoe-lafs.org/source/tahoe-lafs/trunk/docs/install.html)
are enough for the most common use cases. This page provides additional are enough for the most common use cases. This page provides additional
information for specific platforms. information for specific platforms.
Please feel free to add sections to this page with anything you might learn Please feel free to add sections to this page with anything you might learn
while building Tahoe on other platforms. Information which may be useful in while building Tahoe-LAFS on other platforms. Information which may be useful in
the most general cases will be folded into docs/install.html . the most general cases will be folded into docs/install.html .
## Dependencies ## Dependencies
@ -17,34 +17,33 @@ This isn't a complete list of dependencies though, because some of those package
`zope.interface: 3.5.0, simplejson: 2.0.7, pyutil: 1.3.30, zbase32: 1.1.1, allmydata-tahoe: 1.2.0-r3353, pyOpenSSL: 0.7, Twisted: 8.1.0-r25700, Nevow: 0.9.33-r17166, foolscap: 0.3.2, zfec: 1.4.2, pycryptopp: 0.5.12, argparse: 0.8.0, setuptools: 0.6c10dev` `zope.interface: 3.5.0, simplejson: 2.0.7, pyutil: 1.3.30, zbase32: 1.1.1, allmydata-tahoe: 1.2.0-r3353, pyOpenSSL: 0.7, Twisted: 8.1.0-r25700, Nevow: 0.9.33-r17166, foolscap: 0.3.2, zfec: 1.4.2, pycryptopp: 0.5.12, argparse: 0.8.0, setuptools: 0.6c10dev`
In addition to these, if you are installing on Microsoft Windows, then you need to manually install [pywin32](http://sourceforge.net/projects/pywin32) before installing Tahoe. In addition to these, if you are installing on Microsoft Windows, then you need to manually install [pywin32](http://sourceforge.net/projects/pywin32) before installing Tahoe-LAFS.
## Overview ## Overview
Tahoe is happy to build and run in-place, from a source tree. It is not Tahoe-LAFS is happy to build and run in-place, from a source tree. It is not
necessary to install it (outside the source tree) before use, but if you'd necessary to install it (outside the source tree) before use, but if you'd
like to do so, please read the "Installing Outside The Source Tree" section like to do so, please read the "Installing Outside The Source Tree" section
below. below.
However, it does need to be "built" before running it in place. While Tahoe However, it does need to be "built" before running it in place. While Tahoe-LAFS
itself is pure-python and therefore does not require a distinct compile step, itself is pure-python and therefore does not require a distinct compile step,
the mechanics that make it easy to run-in-place do require a setup phase. In the mechanics that make it easy to run-in-place do require a setup phase. In
addition, Tahoe uses several third-party python libraries to work its magic, addition, Tahoe-LAFS uses several third-party python libraries to work its magic,
many of which are unlikely to be just "lying around" and already installed. many of which are unlikely to be just "lying around" and already installed.
Several of these use compiled C code, so they **do** require a compile Several of these use compiled C code, so they **do** require a compile
step. step.
The "make all" target will download and build any third-party libraries that `python setup.py build` will download and build any third-party libraries that
are not already available on your system. It will also prepare the source are not already available on your system. It will also prepare the source
tree for running-in-place. The details: this target is equivalent to tree for running-in-place. Thios basically does a
executing "`setup.py build_tahoe`", and basically does a "`setup.py develop`" into a local
"`setup.py develop`" into a tree-local
`./support/lib/python2.5/site-packages/` directory. The `bin/tahoe` `./support/lib/python2.5/site-packages/` directory. The `bin/tahoe`
executable knows that it should add this directory to PYTHONPATH before it executable knows that it adds this directory to PYTHONPATH before it
does anything else. does anything else.
After building, you can run the source tree's `bin/tahoe` script to After building, you can run the source tree's `bin/tahoe` script to
create, configure, and use your new Tahoe node. As long as `bin/tahoe` is create, configure, and use your new Tahoe-LAFS node. As long as `bin/tahoe` is
left inside the built source tree, it can be run from anywhere (even through a left inside the built source tree, it can be run from anywhere (even through a
symlink). So until you delete the source tree, you can symlink). So until you delete the source tree, you can
symlink `~/bin/tahoe` to your source tree's `bin/tahoe` and then use symlink `~/bin/tahoe` to your source tree's `bin/tahoe` and then use
@ -52,8 +51,8 @@ it as you would any other system executable.
## the "Desert Island" Build ## the "Desert Island" Build
Tahoe will download and install most of the libraries it requires when you Tahoe-LAFS will download and install most of the libraries it requires when you
run "`make`". You might want to pre-download these libraries: perhaps you run "`python setup.py build`". You might want to pre-download these libraries: perhaps you
are about to get on an airplane, or you anticipate having poor network are about to get on an airplane, or you anticipate having poor network
connectivity, or you just don't like the idea of a so-called compile step connectivity, or you just don't like the idea of a so-called compile step
using the network (the download step uses !PyPI to figure out where to using the network (the download step uses !PyPI to figure out where to
@ -63,42 +62,42 @@ malicious).
This disconnected-build operation is supported in two ways. When building This disconnected-build operation is supported in two ways. When building
from a darcs checkout, you can download the latest "tahoe-deps" bundle from from a darcs checkout, you can download the latest "tahoe-deps" bundle from
<http://allmydata.org/source/tahoe/deps/tahoe-deps.tar.gz> . Unpack this in <http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-deps.tar.gz> . Unpack this in
your source tree, and the build process will grab any necessary libraries your source tree, and the build process will grab any necessary libraries
from its `tahoe-deps/` directory instead of downloading them from the from its `tahoe-deps/` directory instead of downloading them from the
internet. You can also unpack tahoe-deps into the parent directory to share internet. You can also unpack tahoe-deps into the parent directory to share
it between multiple trees. it between multiple trees.
Alternatively, if you are building from a tarball (either a release tarball Alternatively, if you are building from a tarball (either a release tarball
from <http://allmydata.org/source/tahoe/releases/> , or a continually-generated from <http://tahoe-lafs.org/source/tahoe-lafs/releases/> , or a continually-generated
current-trunk tarball from <http://allmydata.org/source/tahoe/tarballs/> ), you current-trunk tarball from <http://tahoe-lafs.org/source/tahoe-lafs/tarballs/> ), you
can simply download the -SUMO version of the tarball instead of the regular can simply download the -SUMO version of the tarball instead of the regular
one. The "SUMO" tarball includes the current tahoe-deps bundle pre-unpacked one. The "SUMO" tarball includes the current tahoe-deps bundle pre-unpacked
in the source tree. in the source tree.
The tahoe-deps bundle is updated every once in a while, as new versions of The tahoe-deps bundle is updated every once in a while, as new versions of
the dependent libraries are released, or as Tahoe becomes dependent upon new the dependent libraries are released, or as Tahoe becomes dependent upon new
things. The <http://allmydata.org/source/tahoe/deps/> directory contains things. The <http://tahoe-lafs.org/source/tahoe-lafs/deps/> directory contains
historical ones, but there should never be a reason to use anything but the historical ones, but there should never be a reason to use anything but the
latest. The tahoe-deps bundle contains a README that has a version number. latest. The tahoe-deps bundle contains a README that has a version number.
## Installing Outside The Source Tree ## Installing Outside The Source Tree
If you want to use Tahoe without keeping the source tree around, you will If you want to use Tahoe-LAFS without keeping the source tree around, you will
need to actually install it somewhere. You have several options. need to actually install it somewhere. You have several options.
### Installing The Latest Release ### Installing The Latest Release
"`easy_install allmydata-tahoe`", run from any system that has "`easy_install allmydata-tahoe`", on any system that has
easy_install and setuptools installed, will download the latest release of easy_install and setuptools installed, will download the latest release of
Tahoe (and its dependencies, all found via PyPI), build everything, and Tahoe-LAFS (and its dependencies, all found via PyPI), build everything, and
install it into the standard place for python libraries on your system. On install it into the standard place for python libraries on your system. On
unix platforms this usually goes into `/usr/lib/python2.5/site-packages/` unix platforms this usually goes into `/usr/lib/python2.5/site-packages/`
and `/usr/bin/tahoe` . and `/usr/bin/tahoe` .
On Debian or Ubuntu linux systems, you can install pre-compiled packages by On Debian or Ubuntu linux systems, you can install pre-compiled packages by
adding the allmydata.org APT repository to your `/etc/apt/sources.list` adding the tahoe-lafs.org APT repository to your `/etc/apt/sources.list`
and installing the "allmydata-tahoe" package. See [DownloadDebianPackages](DownloadDebianPackages) for and installing the "allmydata-tahoe" package. See [DownloadDebianPackages](DownloadDebianPackages) for
details. details.
@ -116,22 +115,18 @@ problem).
These commands will take the current source tree and install its contents These commands will take the current source tree and install its contents
somewhere else on your system. This is the traditional meaning of "install". somewhere else on your system. This is the traditional meaning of "install".
The "`setup.py install`" target will install Tahoe (but not its The "`setup.py install`" target will install Tahoe-LAFS (and its
dependencies) into the standard place for python libraries on your system: on dependencies) into the standard place for python libraries on your system: on
Unix platforms this usually goes into `/usr/lib/python2.5/site-packages/` Unix platforms this usually goes into `/usr/lib/python2.5/site-packages/`
and `/usr/bin/tahoe` . and `/usr/bin/tahoe` .
The "`make install`" target is a wrapper around "`setup.py install`" The "`make install`" Makefile target is a wrapper around "`setup.py install`"
that uses `--single-version-externally-managed` to bypass the extra that uses `--single-version-externally-managed` to bypass the extra
checking that setuptools does. This allows "`make install`" to work the same way as traditional unix checking that setuptools does. This allows "`make install`" to work the same way as traditional unix
software (via GNU autoconf, etc). software (via GNU autoconf, etc).
("`make install PREFIX=/usr/local`" does not currently work -- see #703.) ("`make install PREFIX=/usr/local`" does not currently work -- see #703.)
TODO: There should be some way to use "`setup.py easy_install`" to install
Tahoe **and** its dependencies into the system somewhere, but I haven't
been able to figure out how.
### Creating a binary distribution From A Source Tree ### Creating a binary distribution From A Source Tree
These commands will take the current source tree and create a single-file These commands will take the current source tree and create a single-file
@ -160,9 +155,9 @@ Macintosh OS-X executable and the corresponding installer (.dmg) file.
== Platform-specific Notes == == Platform-specific Notes ==
=== Debian/Ubuntu === === !Debian/Ubuntu ===
Tahoe is primarily developed on Debian/Ubuntu machines. You can either build Tahoe-LAFS is primarily developed on !Debian/Ubuntu machines. You can either build
from source (as described by this page), or download pre-compiled debian from source (as described by this page), or download pre-compiled debian
packages for several distributions. See the DownloadDebianPackages page for packages for several distributions. See the DownloadDebianPackages page for
details. details.
@ -184,25 +179,25 @@ You will need the standard Xcode development tools installed, or at least GCC in
=== Windows === === Windows ===
The following procedure will install and run Tahoe on Windows. Note that this assumes that you install Python in the default location (C:\Python26), if you choose another location you'll need to adjust the instructions below: The following procedure will install and run Tahoe-LAFS on Windows. Note that this assumes that you install Python in the default location (C:\Python26), if you choose another location you'll need to adjust the instructions below:
1. Download and install Python 2.6.2 from http://www.python.org/ftp/python/2.6.2/python-2.6.2.msi. 1. Download and install Python 2.6.2 from http://www.python.org/ftp/python/2.6.2/python-2.6.2.msi.
2. Download and install pywin32 from http://sourceforge.net/projects/pywin32/files/pywin32/Build%20214/pywin32-214.win32-py2.6.exe/download. 2. Download and install pywin32 from http://sourceforge.net/projects/pywin32/files/pywin32/Build%20214/pywin32-214.win32-py2.6.exe/download.
3. Download the latest Tahoe snapshot from http://allmydata.org/source/tahoe/snapshots/. Unpack it in a convenient place, such as C:\tahoe. 3. Download the latest Tahoe-LAFS snapshot from http://tahoe-lafs.org/source/tahoe-lafs/snapshots/. Unpack it in a convenient place, such as C:\tahoe-lafs.
4. Open a command prompt and cd to the top of the Tahoe tree (e.g. `cd \tahoe`). 4. Open a command prompt and cd to the top of the Tahoe-LAFS tree (e.g. `cd \tahoe-lafs`).
5. Run "`C:\Python26\python setup.py build`". Wait a bit until it stops working. Note that you need a working network connection because it will download various dependencies. Ignore any warnings referring to darcs. 5. Run "`C:\Python26\python setup.py build`". Wait a bit until it stops working. Note that you need a working network connection because it will download various dependencies. Ignore any warnings referring to darcs.
6. Run "`C:\Python26\python setup.py install`". Wait a bit until it stops working. Again, you may need a working network connection. 6. Run "`C:\Python26\python setup.py install`". Wait a bit until it stops working. Again, you may need a working network connection.
7. Run "`C:\Python26\Scripts\tahoe create-client --basedir C:\tahoebase`". Choose an appropriate base directory. 7. Run "`C:\Python26\Scripts\tahoe create-client --basedir C:\tahoelafsbase`". Choose an appropriate base directory.
8. Run "`notepad C:\tahoebase\tahoe.cfg`" to edit your config file. After "`introducer.furl = `", paste in the FURL of the introducer for the grid you want to connect to. The test grid FURL is pb://todjw7qkb4dgq4fkeo7cqydcu5vneioh@tahoecs2.allmydata.com:52106/introducer . 8. Run "`notepad C:\tahoelafsbase\tahoe.cfg`" to edit your config file. After "`introducer.furl = `", paste in the FURL of the introducer for the grid you want to connect to. The test grid FURL is pb://todjw7qkb4dgq4fkeo7cqydcu5vneioh@tahoecs2.allmydata.com:52106/introducer .
9. Run "`C:\Python26\Scripts\tahoe start --basedir C:\tahoebase`". Your node will start running and connect to the grid. The Windows firewall may ask whether or not to allow python to make network connections. Say yes. 9. Run "`C:\Python26\Scripts\tahoe start --basedir C:\tahoelafsbase`". Your node will start running and connect to the grid. The Windows firewall may ask whether or not to allow python to make network connections. Say yes.
=== What if that doesn't work? === === What if that doesn't work? ===
@ -221,7 +216,7 @@ compiler=mingw32
After installing the compilers, repeat the above instructions from step 4 (using a new command prompt to make sure that the environment variable setting has taken effect). After installing the compilers, repeat the above instructions from step 4 (using a new command prompt to make sure that the environment variable setting has taken effect).
If you prefer to use Python 2.5, you must install a 2.5 build of pywin32 and also install OpenSSL or Tahoe will fail to run with an error about being unable to find ssl.dll. To install OpenSSL: If you prefer to use Python 2.5, you must install a 2.5 build of pywin32 and also install OpenSSL or Tahoe-LAFS will fail to run with an error about being unable to find ssl.dll. To install OpenSSL:
1. Download and install the Visual Studio 2008 redistributables from <http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en>. This is needed for OpenSSL. 1. Download and install the Visual Studio 2008 redistributables from <http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en>. This is needed for OpenSSL.