1 This is a readme for building the CouchDb Project.
\r
4 ******* Linux Build Setup *******
\r
6 Your machine will need installed:
\r
8 ICU (http://icu.sourceforge.net/)
\r
9 apt-get install libicu34
\r
10 apt-get install libicu34-dev
\r
12 Erlang OTP (http://erlang.org/)
\r
13 apt-get install erlang
\r
15 Then execute build.sh.
\r
17 ******* Windows Build Setup ********
\r
19 To Build Couch, you will need:
\r
21 * Microsoft Visual Studio .NET 2003
\r
23 * Java JRE installed and a java executable on the path (you probably already have this).
\r
25 * Install and build IBM's ICU (http://icu.sourceforge.net/).
\r
26 Set the environment variable ICU_ROOT to point the root of the ICU install, just below the "lib" and "include" directories:
\r
29 * Erlang Runtime (http://erlang.org/download.html)
\r
31 * set the ERL_ROOT environment variable to point the erlang root dir:
\r
32 ERLC=:\Program Files\erl5.5.1\
\r
34 * set the ERTS_ROOT environment variable to point the ERTS directory:
\r
35 ERTS_ROOT=C:\Program Files\erl5.5.1\erts-5.5.1
\r
37 * Patch the built-in INETS HTTP server. Instructions below.
\r
39 Then execute build_win_kit.cmd to create a full couchdb install kit
\r
43 ******* How to Patch the Erlang Inets facility code ********
\r
46 Add these function heads at line 73 in \inets-X.X.X\src\httpd_request.erl:
\r
49 validate("PUT", Uri, "HTTP/1." ++ _N) ->
\r
51 validate("DELETE", Uri, "HTTP/1." ++ _N) ->
\r
55 NOTE: there is also a http_request.erl file (no "d" in the name). Do not confuse this with httpd_request.erl
\r
57 Then compile the file from the Erlang shell. Example:
\r
58 > c("C:\\Program Files\\erl5.5.1\\lib\\inets-4.7.5\\src\\httpd_request.erl",
\r
59 {outdir,"C:\\Program Files\\erl5.5.1\\lib\\inets-4.7.5\\ebin\\"}).
\r
61 If that completes successfully you should have a patched system.
\r
65 ******* New Release Checklist *******
\r
67 1. Update version info in CouchDb/couch.rel CouchDb/couch.app build_win_kit.cmd
\r
68 2. Add important information to dist/common/readme.txt
\r
69 3. run build_win_kit.cmd
\r