[tahoe-dev] [tahoe-lafs] #1015: undocumented: attempts to build from source of dependencies such as pycryptopp and pyOpenSSL

James A. Donald jamesd at echeque.com
Sat Apr 3 17:36:10 PDT 2010


On 2010-04-04 5:37 AM, tahoe-lafs wrote:
>   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
>   [wiki:InstallDetails the InstallDetails page] on the wiki (which is linked
>   from [http://allmydata.org/source/tahoe-lafs/trunk/docs/install.html the
>   install instructions].
>    

Documenting bad situations is never a very satisfactory cure.  It would be
a better solution if the final error message was:
     Setup unsuccessfully attempted to find such and such
     Setup unsuccessfully attempted to install such and such
     Setup unsuccessfully attempted to build such and such
     Please manually install such and such, and then run setup again..



More information about the tahoe-dev mailing list