couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Hammond <>
Subject Re: trunk on windows (thanks)
Date Wed, 30 Sep 2009 00:49:55 GMT
On 30/09/2009 12:50 AM, Norman Barker wrote:
> Hi,
> thanks to whoever has been doing a lot of work with supporting windows
> with couchdb.  I have just gone from 0.9 to trunk and it was really
> easy, I didn't have to change a lot of c code like before, just
> created MSVC project files and it all works well.

Good to know!  If you check out the top-level README you will find the 
"official" build instructions - while they do use MSVC, they don't use 
project files etc, but instead use cygwin tools to use the same 
procedure as other operating systems.

Sadly it is a little more work to setup the environment (ie, you really 
need to build erlang and javascript from sources too, plus grab various 
other libraries) but the end result is more satisfying and isn't prone 
to get stale or miss important bits.

> I had one comment, in couch_erl_driver.c you have
> #ifndef WIN32
> #include<string.h>  // for memcpy
> #endif
> to get memcpy with MSVC I had to include string.h (so ignoring the macro).

Strange - as mentioned we do use MSVC, but I suspect some magic macros 
somewhere make it work for me.

> The way of launching couchdb with the *.app files means that local.ini
> is now picked up on windows as well.

FWIW, the procedure I mention correctly generates all .ini and .app etc 
files so thing like version strings are always correct.  The do however 
use relative paths so the installation is as portable as possible.

If you are keen, please do try the "official" process and report back 
any issues you have so I can update the documents and/or the build 
process (but the -dev mailing list may be better for that conversation)

> The upgrade did break my custom erlang code though (to be expected) so
> I will be digging into that!

FYI, I've also got an installer process 95% working (dealing with the 
msvcrt runtime dlls at the moment) which I hope to announce over the 
next few days - I will make one for 0.10 when released and one from the 
current 0.11 trunk.



View raw message