From d23ed0c3e2b641aaea22d69eb4b6a4fbd2f7fb82 Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Thu, 12 Mar 2015 15:29:02 +0000 Subject: [PATCH] Build instructions for the Windows installer. refs #2363 Author: Ramakrishnan Muthukrishnan Signed-off-by: Daira Hopwood --- docs/build/windows-installer.rst | 92 ++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 docs/build/windows-installer.rst diff --git a/docs/build/windows-installer.rst b/docs/build/windows-installer.rst new file mode 100644 index 00000000..8cee8236 --- /dev/null +++ b/docs/build/windows-installer.rst @@ -0,0 +1,92 @@ +Building Tahoe-LAFS on Windows-7 (64-bit) +========================================= + +This document details the steps to build Tahoe-LAFS on Windows. The instructions +were tried on Windows-7 64-bit. Building on a 32-bit machine shouldn't be too +different. + + +Download and install Microsoft Visual C++ compiler for Python 2.7 +----------------------------------------------------------------- + +For reasons detailed in , +Python extension modules need to be built using a compiler compatible with +the same version of Visual C++ that was used to build Python itself. Until +recently, this meant downloading Microsoft Visual Studio 2008 Express Edition +and Windows SDK 3.5. The recent release of the Microsoft Visual C++ compiler +for Python 2.7 made things a lot simpler. + +So, the first step is to download and install the C++ compiler from Microsoft from `this link`_. + +.. _this link: http://www.microsoft.com/en-us/download/details.aspx?id=44266 + + +Download and install Perl +------------------------- + +Download and install ActiveState Perl: + +* go to `the ActiveState Perl download page`_. +* identify the correct link and manually change it from http to https. + +.. _the ActiveState Perl download page: https://www.activestate.com/activeperl/downloads + + +Download and install the latest OpenSSL version +----------------------------------------------- + +* Download the latest OpenSSL from `the OpenSSL source download page`_. +* Untar it. +* Invoke ``"C:\Users\UserName\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\vcvarsall.bat" x86_amd64`` +* Go to the untar'ed openssl source base directory and run the following commands. +* ``mkdir c:\dist`` +* ``perl Configure VC-WIN64A --prefix=c:\dist\openssl64 no-asm enable-tlsext`` +* ``ms\do_win64a.mak`` +* ``nmake -f ms\ntdll.mak`` +* ``nmake -f ms\ntdll.mak install`` + +At the time of writing, the latest version was OpenSSL 1.0.1l. + +.. _the OpenSSL source download page: https://www.openssl.org/source/ + + +Building PyOpenSSL +------------------ + +* Set up the build environment: + +``"C:\Users\UserName\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\vcvarsall.bat" x86_amd64`` + +* Download and untar pyOpenSSL 0.13.1 (see `ticket #2221`_ for why we currently + use this version). +* Set OpenSSL ``LIB``, ``INCLUDE`` and ``PATH``. + +``set PYCA_WINDOWS_LINK_TYPE=dynamic`` +``set LIB=c:\dist\openssl64\lib;%LIB%`` +``set INCLUDE=c:\dist\openssl64\include;%INCLUDE%`` +``set PATH=c:\dist\openssl64\bin;%PATH%`` + +* ``python setup.py build`` +* ``python setup.py install`` + +.. _ticket #2221: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2221 + + +Building Tahoe-LAFS +------------------- + +Now, with all the prerequisites built and installed, we can proceed to build Tahoe-LAFS. + +* Download and install ``git``. +* Download and install Python 2.7.x. +* ``git clone https://github.com/tahoe-lafs/tahoe-lafs.git`` +* ``cd tahoe-lafs`` +* ``python setup.py build`` +* Test the build by invoking the ``bin\tahoe`` script. + + +Building the installer +---------------------- + +* TBD + -- 2.45.2