mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-29 17:28:53 +00:00
92 lines
3.6 KiB
Plaintext
92 lines
3.6 KiB
Plaintext
BUILDING ALLMYDATA.ORG TAHOE ON WINDOWS
|
|
|
|
There are three ways to do it:
|
|
|
|
OPTION 1: ALL CYGWIN ALL THE TIME
|
|
|
|
If you are building on Windows, then the easy way is to install cygwin
|
|
and use the cygwin version of Python and the cygwin versions of all
|
|
dependencies (which will happen naturally if you follow the main
|
|
README file -- note that you cannot use Windows-native versions of any
|
|
of the dependencies -- they all have to be the cygwin versions). So
|
|
if you are taking this approach then you don't need to read the rest
|
|
of this README.win32 file at all.
|
|
|
|
OPTION 2: CYGWIN TOOLS TO BUILD WINDOWS-NATIVE LIBRARIES
|
|
|
|
The second-easiest way is to install cygwin and use cygwin development
|
|
tools such as bash, GNU make, gcc, etc., but install the
|
|
Windows-native version of Python and the Windows-native versions of
|
|
all of the dependencies. If you create a distutils config file (as
|
|
per http://docs.python.org/inst/config-syntax.html ) and put "[build]"
|
|
then "compiler=mingw32" in it, then you can follow the rest of the
|
|
main README file and the dependencies will all be automatically built
|
|
(by the cygwin gcc compiler) as Windows-native libraries. This
|
|
README.win32 file contains some extra notes about how to take this
|
|
approach.
|
|
|
|
Note that in this case, any library dependencies you install must be
|
|
built without linking against the cygwin.dll library. You can cause
|
|
cygwin to build native libraries without linking against cygwin.dll
|
|
by passing the '-mno-cygwin' flag to the compiler. For example, to
|
|
build cryptopp this way you can use the command
|
|
CXX='g++ -mno-cygwin' make
|
|
|
|
Note that cryptopp's cryptest.exe tool may fail to build. To build
|
|
that you might need to add the ISMINGW option to cryptopp's make e.g.
|
|
CXX='g++ -mno-cygwin' make ISMINGW=1
|
|
|
|
OPTION 3: OTHER BUILD TOOLS
|
|
|
|
The third-easiest way is to use a Microsoft compiler or some other
|
|
compiler. Our README files do not currently explain how to do that.
|
|
You are on your own for now, but please feel free to contribute a
|
|
document which explains how to build all these dependencies using your
|
|
favorite compiler.XXX MikeB: the previous paragraph is false -- please
|
|
fix it! --Zooko
|
|
|
|
|
|
Okay, here are some notes about following "OPTION 2: CYGWIN TOOLS TO BUILD
|
|
WINDOWS-NATIVE LIBRARIES" approach:
|
|
|
|
|
|
EXTRA MANUAL DEPENDENCIES
|
|
|
|
In addition to the dependencies listed in the main README file, you
|
|
also need the following:
|
|
|
|
+ the pywin32 package (210 or later)
|
|
|
|
http://sourceforge.net/projects/pywin32/
|
|
|
|
|
|
NOTES ABOUT BUILDING OPENSSL
|
|
|
|
In order to compile the tahoe source you need to have libeay32.dll version
|
|
0.9.8.5 and ssleay32.dll version 0.9.8.5 or newer installed. If you find that
|
|
you have the wrong version of either of these dlls, you can download and
|
|
compile openssl from http://openssl.org.
|
|
|
|
You will need to have perl installed to compile openssl. One place where you
|
|
can find a version of perl is http://www.activestate.com/products/activeperl.
|
|
|
|
If you want to compile openssl using Visual Studio, you may find adding your
|
|
Visual Studio bin, include and lib directories to your %PATH% environment
|
|
variable helpful. For example, if you're compiling with VS2005:
|
|
|
|
"C:\Program Files\Microsoft Visual Studio\VC98\Bin;C:\Program Files\
|
|
Microsoft Visual Studio 8\VC\include;C:\Program Files\Microsoft Visual
|
|
Studio 8\VC\PlatformSDK\Include;C:\Program Files\Microsoft Visual Studio
|
|
8\VC\lib;C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib"
|
|
|
|
|
|
NOTES ABOUT INSTALLING PYOPENSSL
|
|
|
|
To install PyOpenSSL on Windows-native, download this:
|
|
|
|
http://allmydata.org/source/pyOpenSSL-0.6.win32-py2.5.exe
|
|
|
|
or for Python 2.4, this:
|
|
|
|
http://allmydata.org/source/pyOpenSSL-0.6.win32-py2.4.exe
|