couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Heiden, W van - SPLXL" <Walter-van.Hei...@klm.com>
Subject RE: Win32 installation (building the Couch ERL driver DLL).
Date Mon, 22 Jun 2009 18:33:57 GMT
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:nrstott@gmail.com]
Verzonden: ma 22-6-2009 19:49
Aan: user@couchdb.apache.org
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 <
Walter-van.Heiden@klm.com> 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 
**********************************************************************
Mime
  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message