| Apache CouchDB README.Windows |
| ============================== |
| |
| For a high-level guide to Microsoft Windows. |
| |
| Dependencies |
| ------------ |
| |
| You will need the following installed: |
| |
| * Erlang OTP (>=R12B5) (http://erlang.org/) |
| * ICU (http://icu.sourceforge.net/) |
| * OpenSSL (http://www.openssl.org/) |
| * Mozilla SpiderMonkey (1.8) (http://www.mozilla.org/js/spidermonkey/) |
| * libcurl (http://curl.haxx.se/libcurl/) |
| * Cygwin (http://www.cygwin.com/) |
| * Visual Studio 2008 (http://msdn.microsoft.com/en-gb/vstudio/default.aspx) |
| |
| General Notes |
| ------------- |
| |
| * When installing Erlang, you must build it from source. |
| |
| The CouchDB build makes use of a number of the Erlang build scripts. |
| |
| * When installing ICU, select the binaries built with Visual Studio 2008. |
| |
| * When installing Cygwin, be sure to select all the `development` tools. |
| |
| * When installing libcurl, be sure to install by hand. |
| |
| The Cygwin binaries are incompatible and will not work with Erlang. |
| |
| Setting Up Cygwin |
| ----------------- |
| |
| Before starting any Cygwin terminals, run: |
| |
| set CYGWIN=nontsec |
| |
| To set up your environment, run: |
| |
| [VS_BIN]/vcvars32.bat |
| |
| Replace [VS_BIN] with the path to your Visual Studio `bin` directory. |
| |
| You must check that: |
| |
| * The `which link` command points to the Microsoft linker. |
| |
| * The `which cl` command points to the Microsoft compiler. |
| |
| If you do not do this, the ones found in `/usr/bin` may be used instead. |
| |
| Building Erlang |
| --------------- |
| |
| You must include OpenSSL. |
| |
| However, you can skip the GUI tools by running: |
| |
| echo "skipping gs" > lib/gs/SKIP |
| |
| echo "skipping ic" > lib/ic/SKIP |
| |
| Follow the rest of the Erlang instructions as described. |
| |
| After running: |
| |
| ./otp_build release -a |
| |
| You should run: |
| |
| ./release/win32/Install.exe |
| |
| This will set up the release/win32/bin directory correctly. |
| |
| To set up your environment for building CouchDB, run: |
| |
| eval `./otp_build env_win32` |
| |
| To set up the `ERL_TOP` environment variable, run: |
| |
| export ERL_TOP=[ERL_TOP] |
| |
| Replace `[ERL_TOP]` with the Erlang source directory name. |
| |
| Remember to use `/cygdrive/c/` instead of `c:/` as the directory prefix. |
| |
| To set up your path, run: |
| |
| export PATH=$ERL_TOP/release/win32/erts-5.7.2/bin:$PATH |
| |
| If everything was successful, you should be ready to build CouchDB. |
| |
| Relax. |
| |
| Building CouchDB |
| ---------------- |
| |
| Once you have satisfied the dependencies you should run: |
| |
| ./configure \ |
| --with-js-include=/cygdrive/c/path_to_seamonkey_include \ |
| --with-js-lib=/cygdrive/c/path_to_seamonkey_lib \ |
| --with-win32-icu-binaries=/cygdrive/c/path_to_icu_binaries_root \ |
| --with-erlang=$ERL_TOP/release/win32/usr/include \ |
| --with-win32-curl=/cygdrive/c/path/to/curl/root/directory \ |
| --with-openssl-bin-dir=/cygdrive/c/openssl/bin \ |
| --with-msvc-redist-dir=/cygdrive/c/dir/with/vcredist_platform_executable \ |
| --prefix=$ERL_TOP/release/win32 |
| |
| This command could take a while to complete. |
| |
| If everything was successful you should see the following message: |
| |
| You have configured Apache CouchDB, time to relax. |
| |
| Relax. |
| |
| To install CouchDB you should run: |
| |
| make install |
| |
| If everything was successful you should see the following message: |
| |
| You have installed Apache CouchDB, time to relax. |
| |
| Relax. |
| |
| First Run |
| --------- |
| |
| You can start the CouchDB server by running: |
| |
| $ERL_TOP/release/win32/bin/couchdb.bat |
| |
| When CouchDB starts it should eventually display the following message: |
| |
| Apache CouchDB has started, time to relax. |
| |
| Relax. |
| |
| To check that everything has worked, point your web browser to: |
| |
| http://127.0.0.1:5984/_utils/index.html |
| |
| From here you should run the test suite. |