renaming to "Tahoe-LAFS" plus a few corrections and few small edits
[Imported from Trac: page InstallDetails, version 23]
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.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue