2 INSTALLATION INSTRUCTIONS FOR pyOpenSSL
3 ------------------------------------------------------------------------------
5 I have tested this on Debian Linux systems (woody and sid), Solaris 2.6 and
6 2.7. Others have successfully compiled it on Windows and NT.
9 -- Building the Module on a Unix System --
11 pyOpenSSL uses distutils, so there really shouldn't be any problems. To build
14 $ python setup.py build
16 If your OpenSSL header files aren't in /usr/include, you may need to supply
17 the -I flag to let the setup script know where to look. The same goes for the
18 libraries of course, use the -L flag. Note that build won't accept these
19 flags, so you have to run first build_ext and then build! Example:
21 $ python setup.py build_ext -I/usr/local/ssl/include -L/usr/local/ssl/lib
22 $ python setup.py build
24 Now you should have a directory called OpenSSL that contains e.g. SSL.so and
25 __init__.py somewhere in the build dicrectory, so just:
27 $ python setup.py install
29 If you, for some arcane reason, don't want the module to appear in the
30 site-packages directory, use the --prefix option.
32 You can, of course, do
34 $ python setup.py --help
36 to find out more about how to use the script.
39 -- Building the Module on a Windows System --
41 First you should get OpenSSL linked with the same runtime library that Python
42 uses. If you are using Python 2.6 you can use the installer at:
44 http://www.slproweb.com/products/Win32OpenSSL.html
46 The binaries in the installer are built with Visual Studio 2008 at the
47 time of this writing, which is the same compiler used for building the
48 official Python 2.6 installers.
50 If you want to build pyOpenSSL for an older Python version, it is preferred
51 to build OpenSSL yourself, either with the Visual Studio 2003 compiler or
52 with the MinGW compiler. This way you avoid all potential incompatibilities
53 between different versions of runtime library (msvcrt.dll). To build
54 OpenSSL follow the instructions in its source distribution and make sure
55 that you build a shared library, not a static one. pyOpenSSL fails some of
56 its tests when linked with the static OpenSSL libraries. Use the same
57 compiler for OpenSSL that you will use for pyOpenSSL later. Make sure that
58 OpenSSL is properly installed before continuing. To install OpenSSL when
59 building with MinGW, use the folowing script:
61 set OPENSSL_INSTALL_DIR=%1
62 mkdir %OPENSSL_INSTALL_DIR%
63 mkdir %OPENSSL_INSTALL_DIR%\bin
64 mkdir %OPENSSL_INSTALL_DIR%\include
65 mkdir %OPENSSL_INSTALL_DIR%\include\openssl
66 mkdir %OPENSSL_INSTALL_DIR%\lib
67 copy /b .\*.dll %OPENSSL_INSTALL_DIR%\bin
68 copy /b .\out\openssl.exe %OPENSSL_INSTALL_DIR%\bin
69 copy /b .\outinc\openssl\* %OPENSSL_INSTALL_DIR%\include\openssl
70 copy /b .\out\*.a %OPENSSL_INSTALL_DIR%\lib
72 Ensure that OpenSSL's openssl.exe executable can be found on PATH before
73 running pyOpenSSL's setup script. The setup script finds OpenSSL's include
74 dir and lib dir based on the location of openssl.exe, and the test suite
75 requires openssl.exe for output comparison. Alternatively, you can specify
76 the --with-openssl option to setup.py's build_ext command with the path to
77 the OpenSSL installation dir:
79 > python setup.py build_ext --with-openssl=C:\path\to\openssl build
81 pyOpenSSL is known to build with mingw32 for Python 2.3 through Python 2.5.
82 Before using the mingw32 compiler for Python 2.3, you will have to create
83 a Python library that MinGW understands. Find and download the pexports
84 program, put it and MinGW's bin directory on path, then run from Python's
87 > pexports python23.dll > libs\python23.def
88 > dlltool --dllname python23.dll --def libs\python23.def \
89 --output-lib libs\libpython23.a
91 For Python 2.4 and 2.5, no special preparation is needed, just make sure that
92 MinGW's gcc is on PATH. You can specify that mingw32 be used by passing
93 the --compiler argument to build_ext:
95 C:\pyOpenSSL-X.Y> setup.py build_ext -c mingw32 bdist_msi
97 The bdist_msi command will build an MSI installer. It can be substituted
98 with another bdist command if another kind of installer is desired or with
99 the install command if you want to install directly.
101 For Python 2.4 and 2.5 you can use Visual Studio 2003 in addition to MinGW.
102 For Python 2.6, the official Windows installer of which is built with
103 Microsoft Visual Studio 2008 (version 9.0), Microsoft Visual Studio 2008
104 (version 9.0) is required.
106 To build with MSVC, just omit the compiler specific option:
108 C:\pyOpenSSL-X.Y> setup.py bdist_msi
110 The resulting binary distribution will be placed in the dist directory. To
111 install it, depending on what kind of distribution you create, run it,
112 unzip it, or copy it to Python installation's site-packages.
114 And similarily, you can do
118 to get more information.
120 Big thanks to Itamar Shtull-Trauring, Oleg Orlov, Zooko O'Whielacronx, Chris
121 Galvan, Žiga Seilnacht, and #python and #distutils on FreeNode for their
122 help with Windows build instructions and to Michael Schneider for providing
127 The documentation is written in LaTeX, using the standard Python templates,
128 and tools to compile it into a number of forms are included. You need to
129 supply things like dvips, latex2html yourself of course!
131 To build the text, html, postscript or dvi forms of the documentation, this is
135 # To make the text-only documentation:
137 # To make the dvi form:
140 It's as simple as that. Note that since Python's mkhowto script is used, if
141 you do first ``make dvi'' and then ``make ps'', the dvi file will disappear.
142 I included a special build target ``make all'' that will build all the
143 documentation in an order that won't let anything disappear.
146 @(#) $Id: INSTALL,v 1.7 2002/06/14 12:14:19 martin Exp $