Opened at 2010-04-03T19:37:26Z
Last modified at 2013-09-16T17:45:20Z
#1015 closed defect
undocumented: attempts to build from source of dependencies such as pycryptopp and pyOpenSSL — at Initial Version
Reported by: | zooko | Owned by: | nejucomo |
---|---|---|---|
Priority: | major | Milestone: | undecided |
Component: | packaging | Version: | 1.6.1 |
Keywords: | easy docs setuptools install pycryptopp zfec openssl | Cc: | |
Launchpad Bug: |
Description
(originally #1013)
Tahoe-LAFS depends on many libraries, including pycryptopp, pyOpenSSL, and zfec. If those libraries are already installed, or if there is a binary egg package of the library available on the web at build-time, then the Tahoe-LAFS setup.py script will automatically satisfy those dependencies.
If not, then the Tahoe-LAFS setup.py script will automatically attempt to build those dependencies from source. This behavior is not documented in the Tahoe-LAFS install docs, so it is a source of surprise and confusion to users. In many cases the attempt fails due to missing tools (such as a C++ compiler) or missing headers, such as OpenSSL headers, or the local system configuration not being set up so that the right headers are importable by the C++ compiler, etc. When it fails, it leaves users with the impression that there is a bug in the Tahoe-LAFS build system, and leads to bug reports which are hard for Tahoe-LAFS developers to usefully respond to.
The next step is to document this situation, probably by adding to the InstallDetails page on the wiki (which is linked from the install instructions.
To close this ticket: add information to InstallDetails explaining about how the setup.py script attempts to build dependencies from source automatically, as well as suggestions about how to understand which dependency is being built, how to install that dependency yourself manually, or how to install build tools and headers so that the dependency can be built from source automatically.