Changes between Version 22 and Version 23 of InstallDetails
- Timestamp:
- 2010-04-03T19:33:26Z (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
InstallDetails
v22 v23 2 2 3 3 Hopefully, the basic install docs in 4 [http:// allmydata.org/source/tahoe/trunk/docs/install.html docs/install.html]4 [http://tahoe-lafs.org/source/tahoe-lafs/trunk/docs/install.html docs/install.html] 5 5 are enough for the most common use cases. This page provides additional 6 6 information for specific platforms. 7 7 8 8 Please feel free to add sections to this page with anything you might learn 9 while building Tahoe on other platforms. Information which may be useful in9 while building Tahoe-LAFS on other platforms. Information which may be useful in 10 10 the most general cases will be folded into docs/install.html . 11 11 … … 18 18 `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` 19 19 20 In addition to these, if you are installing on Microsoft Windows, then you need to manually install [http://sourceforge.net/projects/pywin32 pywin32] before installing Tahoe .20 In addition to these, if you are installing on Microsoft Windows, then you need to manually install [http://sourceforge.net/projects/pywin32 pywin32] before installing Tahoe-LAFS. 21 21 22 22 == Overview == 23 23 24 Tahoe is happy to build and run in-place, from a source tree. It is not24 Tahoe-LAFS is happy to build and run in-place, from a source tree. It is not 25 25 necessary to install it (outside the source tree) before use, but if you'd 26 26 like to do so, please read the "Installing Outside The Source Tree" section 27 27 below. 28 28 29 However, it does need to be "built" before running it in place. While Tahoe 29 However, it does need to be "built" before running it in place. While Tahoe-LAFS 30 30 itself is pure-python and therefore does not require a distinct compile step, 31 31 the mechanics that make it easy to run-in-place do require a setup phase. In 32 addition, Tahoe uses several third-party python libraries to work its magic,32 addition, Tahoe-LAFS uses several third-party python libraries to work its magic, 33 33 many of which are unlikely to be just "lying around" and already installed. 34 34 Several of these use compiled C code, so they '''do''' require a compile 35 35 step. 36 36 37 The "make all" targetwill download and build any third-party libraries that37 {{{python setup.py build}}} will download and build any third-party libraries that 38 38 are not already available on your system. It will also prepare the source 39 tree for running-in-place. The details: this target is equivalent to 40 executing "{{{setup.py build_tahoe}}}", and basically does a 41 "{{{setup.py develop}}}" into a tree-local 39 tree for running-in-place. Thios basically does a 40 "{{{setup.py develop}}}" into a local 42 41 {{{./support/lib/python2.5/site-packages/}}} directory. The {{{bin/tahoe}}} 43 executable knows that it should addthis directory to PYTHONPATH before it42 executable knows that it adds this directory to PYTHONPATH before it 44 43 does anything else. 45 44 46 45 After building, you can run the source tree's {{{bin/tahoe}}} script to 47 create, configure, and use your new Tahoe node. As long as {{{bin/tahoe}}} is46 create, configure, and use your new Tahoe-LAFS node. As long as {{{bin/tahoe}}} is 48 47 left inside the built source tree, it can be run from anywhere (even through a 49 48 symlink). So until you delete the source tree, you can … … 53 52 == the "Desert Island" Build == 54 53 55 Tahoe will download and install most of the libraries it requires when you56 run "{{{ make}}}". You might want to pre-download these libraries: perhaps you54 Tahoe-LAFS will download and install most of the libraries it requires when you 55 run "{{{python setup.py build}}}". You might want to pre-download these libraries: perhaps you 57 56 are about to get on an airplane, or you anticipate having poor network 58 57 connectivity, or you just don't like the idea of a so-called compile step … … 64 63 This disconnected-build operation is supported in two ways. When building 65 64 from a darcs checkout, you can download the latest "tahoe-deps" bundle from 66 http:// allmydata.org/source/tahoe/deps/tahoe-deps.tar.gz . Unpack this in65 http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-deps.tar.gz . Unpack this in 67 66 your source tree, and the build process will grab any necessary libraries 68 67 from its {{{tahoe-deps/}}} directory instead of downloading them from the … … 71 70 72 71 Alternatively, if you are building from a tarball (either a release tarball 73 from http:// allmydata.org/source/tahoe/releases/ , or a continually-generated74 current-trunk tarball from http:// allmydata.org/source/tahoe/tarballs/ ), you72 from http://tahoe-lafs.org/source/tahoe-lafs/releases/ , or a continually-generated 73 current-trunk tarball from http://tahoe-lafs.org/source/tahoe-lafs/tarballs/ ), you 75 74 can simply download the -SUMO version of the tarball instead of the regular 76 75 one. The "SUMO" tarball includes the current tahoe-deps bundle pre-unpacked … … 79 78 The tahoe-deps bundle is updated every once in a while, as new versions of 80 79 the dependent libraries are released, or as Tahoe becomes dependent upon new 81 things. The http:// allmydata.org/source/tahoe/deps/ directory contains80 things. The http://tahoe-lafs.org/source/tahoe-lafs/deps/ directory contains 82 81 historical ones, but there should never be a reason to use anything but the 83 82 latest. The tahoe-deps bundle contains a README that has a version number. … … 86 85 == Installing Outside The Source Tree == 87 86 88 If you want to use Tahoe without keeping the source tree around, you will87 If you want to use Tahoe-LAFS without keeping the source tree around, you will 89 88 need to actually install it somewhere. You have several options. 90 89 91 90 === Installing The Latest Release === 92 91 93 "{{{easy_install allmydata-tahoe}}}", run fromany system that has92 "{{{easy_install allmydata-tahoe}}}", on any system that has 94 93 easy_install and setuptools installed, will download the latest release of 95 Tahoe (and its dependencies, all found via PyPI), build everything, and94 Tahoe-LAFS (and its dependencies, all found via PyPI), build everything, and 96 95 install it into the standard place for python libraries on your system. On 97 96 unix platforms this usually goes into {{{/usr/lib/python2.5/site-packages/}}} … … 99 98 100 99 On Debian or Ubuntu linux systems, you can install pre-compiled packages by 101 adding the allmydata.org APT repository to your {{{/etc/apt/sources.list}}}100 adding the tahoe-lafs.org APT repository to your {{{/etc/apt/sources.list}}} 102 101 and installing the "allmydata-tahoe" package. See DownloadDebianPackages for 103 102 details. … … 117 116 somewhere else on your system. This is the traditional meaning of "install". 118 117 119 The "{{{setup.py install}}}" target will install Tahoe (but notits118 The "{{{setup.py install}}}" target will install Tahoe-LAFS (and its 120 119 dependencies) into the standard place for python libraries on your system: on 121 120 Unix platforms this usually goes into {{{/usr/lib/python2.5/site-packages/}}} 122 121 and {{{/usr/bin/tahoe}}} . 123 122 124 The "{{{make install}}}" target is a wrapper around "{{{setup.py install}}}"123 The "{{{make install}}}" Makefile target is a wrapper around "{{{setup.py install}}}" 125 124 that uses {{{--single-version-externally-managed}}} to bypass the extra 126 125 checking that setuptools does. This allows "{{{make install}}}" to work the same way as traditional unix … … 128 127 129 128 ("{{{make install PREFIX=/usr/local}}}" does not currently work -- see #703.) 130 131 TODO: There should be some way to use "{{{setup.py easy_install}}}" to install132 Tahoe '''and''' its dependencies into the system somewhere, but I haven't133 been able to figure out how.134 129 135 130 === Creating a binary distribution From A Source Tree === … … 161 156 == Platform-specific Notes == 162 157 163 === Debian/Ubuntu ===164 165 Tahoe is primarily developed onDebian/Ubuntu machines. You can either build158 === !Debian/Ubuntu === 159 160 Tahoe-LAFS is primarily developed on !Debian/Ubuntu machines. You can either build 166 161 from source (as described by this page), or download pre-compiled debian 167 162 packages for several distributions. See the DownloadDebianPackages page for … … 185 180 === Windows === 186 181 187 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:182 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: 188 183 189 184 1. Download and install Python 2.6.2 from http://www.python.org/ftp/python/2.6.2/python-2.6.2.msi. … … 191 186 2. Download and install pywin32 from http://sourceforge.net/projects/pywin32/files/pywin32/Build%20214/pywin32-214.win32-py2.6.exe/download. 192 187 193 3. Download the latest Tahoe snapshot from http://allmydata.org/source/tahoe/snapshots/. Unpack it in a convenient place, such as C:\tahoe.194 195 4. Open a command prompt and cd to the top of the Tahoe tree (e.g. {{{cd \tahoe}}}).188 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. 189 190 4. Open a command prompt and cd to the top of the Tahoe-LAFS tree (e.g. {{{cd \tahoe-lafs}}}). 196 191 197 192 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. … … 199 194 6. Run "{{{C:\Python26\python setup.py install}}}". Wait a bit until it stops working. Again, you may need a working network connection. 200 195 201 7. Run "{{{C:\Python26\Scripts\tahoe create-client --basedir C:\tahoe base}}}". Choose an appropriate base directory.202 203 8. Run "{{{notepad C:\tahoe base\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 .204 205 9. Run "{{{C:\Python26\Scripts\tahoe start --basedir C:\tahoe base}}}". 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.196 7. Run "{{{C:\Python26\Scripts\tahoe create-client --basedir C:\tahoelafsbase}}}". Choose an appropriate base directory. 197 198 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 . 199 200 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. 206 201 207 202 === What if that doesn't work? === … … 222 217 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). 223 218 224 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:219 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: 225 220 226 221 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.