As you might also guess from my earlier post I’m working to build and install it on Dreamhost, another thing I support enthusiastically.
Unfortunately, being on the outer fringe of technology meant I wasn’t able to get them to install it for me, but that’s completely understandable. Given that the current package release has no Auth support (I believe the repository builds do but that would have required more software installs) if I were supporting a multi-user production environment it might make me a little nervous too.
However, to in order to continue my interests it’s a major component so I wanted to give it a shot. I don’t have it up and running 100% right now (it appears to have run though I can’t connect) but I wanted to document to build side of things before I forgot 😀
So here’s the rundown;
I was fortunate to follow some excellent advice about getting Django up and running on Dreamhost. It advised that you setup a “~/run” directory to install all your add-on software too and these steps below will build on that existing environment.
I downloaded all my files into “~/repo” but wherever you like to store them will be fine (“~/software for example). Now create a temp directory and unpack everything, replacing the paths (and potentially filenames if you picked different versions) as appropriate.
mkdir ~/tmp && cd ~/tmp tar zxf ~/repo/otp_src* tar zxf ~/repo/js-1.7.0* tar zxf ~/repo/icu4c* tar zxf ~/repo/apache*
I will show the build commands in the order I did them but as long as you save CouchDB for the final step (naturally) then I think you should be fine. Though it’s important to realize I didn’t get this right first time through so I did have some partial installs at times.
cd js/src make -f Makefile.ref BUILD_OPT=1 JS_DIST=$RUN cp *.h $RUN/include/js cd Linux_All_OPT.OPJ cp jsproto.tbl jsautocfg.h $RUN/include/js cp libjs.so $RUN/lib
Now for Erlang:
cd ~/tmp/otp_src* ./configure --prefix=$RUN --enable-smp-support --enable-threads --enable-hipe make && make install
Next, Unicode Support (ICU):
cd ~/tmp/icu/source ./configure --prefix=$RUN make && make install
And finally, CouchDB!
./configure --prefix=$RUN --with-js-lib=$RUN/lib --with-js-include=$RUN/include/js --with-erlang=$RUN/lib/erlang/usr/include make && make install
Once that’s completed I was able to run “couchdb” and see the famous “Apache CouchDB has started. Time to relax.” !!!
Unfortunately, running “couchdb -s” in another window tells me that “Apache CouchDB is not running.” 🙁
However, I suspect that’s an easier issue for Dreamhost to help me with then building everything from source!