blob: 5c4a9587974e6c21e5853620a12baca08c5c05e6 [file] [log] [blame]
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.