I am trying to build CouchDB for Windows, not Erlang (except for Mochiweb). I have no experience with Erlang (nor couchDB) and the Wiki is (still) unclear to me because it doesn't answer my thoughts or questions. For myself I have created the steps that I have done, they are below, and come from different sources but done and checked by me, is incomplete and work-in-progress: - - - - - - - - - - - - - - - - - - - - - -
I have used http://wiki.apache.org/couchdb/Installing_on_Windows as a starting point but ended up with a non-working CouchDB. Since I had Visual Studio 2008 installed, the steps for the GNU C Compiler or Visual C++ Compiler is not tested. Step 0: Pre-requisites a) OTP/Erlang environment b) Win32 C Compiler/Linker (e.g. GCC, Visual C++ Express Edition or Visual Studio 2008) c) OpenSSL (an open-source implementation of Secure Socket Layer) d) ICU (a library providing Unicode and Globalization support) e) SpiderMonkey (Mozilla's C implementation of JavaScript) Step 1: Download the pre-requisites a) download the Erlang Windows binary (otp_win32_R13B01.exe) from http://www.erlang.org/download.html b) download the Visual C++ 2008 Express Edition from http://msdn.microsoft.com/en-us/visualc/default.aspx c) download an OpenSSL binary distribution from http://www.openssl.org/related/binaries.html, e.g. http://www.slproweb.com/products/Win32OpenSSL.html d) download the ICU Windows binary (icu4c-4_2_0_1-Win32-msvc9.zip) from http://icu-project.org/download/4.2.html e) download the SpiderMonkey source-code (js-1.7.0.tar.gz) from http://ftp.mozilla.org/pub/mozilla.org/js/ Step 2: Installing the pre-requisites a) run otp_win32_R13B01.exe to install Erlang into directory c:\erl-5.7.2 b) run the Visual C++ installer (since I had Visual Studio 2008 installed this step is not tested) c) run the win32OpenSSL_Light-0_9_8k.exe to install the OpenSSL libraries into directory c:\openssl-0.9.8 d) unpack the ICU package into directory c:\icu-4.2.0.1 e) unpack the SpiderMonkey source-code into directory c:\js-1.7.0 Step 3: Configuring the pre-requistes a) run werl.exe from c:\erl-5.7.2\bin to start the Erlang shell (exit the shell if it works, otherwise check the installation) please check that mochiweb is not available inside the lib directory - use a SVN client a-la TortoiseSVN to check-out the Mochiweb source-code at http://code.google.com/p/mochiweb/ to c:\mochiweb-trunk - (from the DOS prompt) compile the sources using the bash and make from the mozilla-build directory -- open een DOS box -- start the bash shell with \mozilla-build-1.3\msys\bin\bash.exe --login -i -- from this shell type cd c:/mochiweb-trunk/src -- type make to build mochiweb -- copy the c:\mochiweb-trunk\ebin directory to c:\erl-5.7.2\lib\mochiweb\ebin b) run nmake.exe from c:\program files\microsoft visual studio 9.0\vc\bin c) check for lib*.dll in the c:\openssl-0.9.8 directory d) check for lib*.dll in the c:\icu-4.2.0.1\bin directory and copy lib*.dll to c:\erl-5.7.2\bin e) check for *.c in the c:\js-1.7.0\src directory please check that there are no *.dll or *.exe files in the directory - go to http://www.mozilla.org/js/spidermonkey/ and read how to build SpiderMonkey - go to https://developer.mozilla.org/en/SpiderMonkey_Build_Documentation and read how to build SpiderMonkey - go to https://developer.mozilla.org/en/Windows_Build_Prerequisites and read how to build SpiderMonkey -- download http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.3.exe and install into directory c:\mozilla-build-1.3 -- run start-msvc9.bat -- within this shell use cd to go to the js-1.7.0\src directory and run make -f Makefile.ref (see the SpiderMonkey documentation that you just have read), now we have created a debug version of SpiderMonkey, use make DEBUG_OPT=1 -f Makefile.ref to build a normal version of SpiderMonkey, use the Windows Explorer to view the contents of the c:\js-1.7.0.\src directory, it contains two new folders (WINNT5.1_DBG.OBJ and WINNT5.1_OPT.OBJ). -- we now have the SpiderMonkey Javascript engine js.exe and can exit the shell -- copy the js.exe and the js32.dll to the c:\erl-5.7.3\bin directory and rename js.exe to couch_js.exe Step 3: Download CouchDB Step 5: Install CouchDB ________________________________ Van: Nathan Stott [mailto:[email protected]] Verzonden: ma 22-6-2009 19:49 Aan: [email protected] Onderwerp: Re: Win32 installation (building the Couch ERL driver DLL). You're trying to build Erlang from source? I'm very interested in how your experience in following the wiki directions is going. Please advise as to where the directions can be made more clear. On Mon, Jun 22, 2009 at 12:24 PM, Heiden, W van - SPLXL < [email protected]> wrote: > Hello, > > I do want to start with CouchDB on Windows and prefer to build from scratch > to understand the product and it's dependecies better. > > I am using the instructions from > http://wiki.apache.org/couchdb/Installing_on_Windows and am stuck at > building the 'couch erl driver DLL'. > > Have built mochiweb succesfully, also SpiderMonkey (with the standard js.c) > built succesfully. > > Unfortunately building SpiderMonkey with the CouchDB js.c failed (see > instruction at http://blog.endflow.net/?p=55&lang=en), but will look at > that later. > > In my Erlang distribution (C:\erl-5.7.2\erts-5.7.2) I am missing the > directories or files: > C:\otp_src_R13B\erts\emulator\sys\win32 > C:\otp_src_R13B\erts\emulator\beam > > Where can I get these files? And how to add them to my project in Visual > C++ Express Edition? > > Thanks, > Regards, Walter > > > ********************************************************************** > For information, services and offers, please visit our web site: > http://www.klm.com <http://www.klm.com/> . This e-mail and any attachment may > contain > confidential and privileged material intended for the addressee > only. If you are not the addressee, you are notified that no part > of the e-mail or any attachment may be disclosed, copied or > distributed, and that any other action related to this e-mail or > attachment is strictly prohibited, and may be unlawful. If you have > received this e-mail by error, please notify the sender immediately > by return e-mail, and delete this message. > > Koninklijke Luchtvaart Maatschappij NV (KLM), its subsidiaries > and/or its employees shall not be liable for the incorrect or > incomplete transmission of this e-mail or any attachments, nor > responsible for any delay in receipt. > Koninklijke Luchtvaart Maatschappij N.V. (also known as KLM Royal > Dutch Airlines) is registered in Amstelveen, The Netherlands, with > registered number 33014286 > ********************************************************************** ********************************************************************** For information, services and offers, please visit our web site: http://www.klm.com. This e-mail and any attachment may contain confidential and privileged material intended for the addressee only. If you are not the addressee, you are notified that no part of the e-mail or any attachment may be disclosed, copied or distributed, and that any other action related to this e-mail or attachment is strictly prohibited, and may be unlawful. If you have received this e-mail by error, please notify the sender immediately by return e-mail, and delete this message. Koninklijke Luchtvaart Maatschappij NV (KLM), its subsidiaries and/or its employees shall not be liable for the incorrect or incomplete transmission of this e-mail or any attachments, nor responsible for any delay in receipt. Koninklijke Luchtvaart Maatschappij N.V. (also known as KLM Royal Dutch Airlines) is registered in Amstelveen, The Netherlands, with registered number 33014286 **********************************************************************
