Now comes the tricky part of the installation. After the installation of ICU, the next dependency is the Mozilla JS Engine SpiderMonkey.

I couldn’t manage to install the current 1.8.5 release of SpiderMonkey on OpenSolaris and had to fallback to 1.7.0. Thankfully CouchDB only requires 1.7.0 or up.

Basics

root@test:~# cd /tmp
root@test:/tmp# wget https://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz
--2011-07-31 16:28:08--  https://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz
Connecting to ftp.mozilla.org|63.245.209.137|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1165607 (1.1M) [application/x-gzip]
Saving to: `js-1.7.0.tar.gz'

100%[=========================================================================>] 1,165,607    378K/s   in 3.0s

2011-07-31 16:28:12 (378 KB/s) - `js-1.7.0.tar.gz' saved [1165607/1165607]

root@test:/tmp# tar xvf js-1.7.0.tar.gz
Decompressing 'js-1.7.0.tar.gz' with '/usr/bin/gzcat'...
x js, 0 bytes, 0 tape blocks
x js/src, 0 bytes, 0 tape blocks
x js/src/Makefile.in, 9622 bytes, 19 tape blocks
x js/src/jsproto.tbl, 4989 bytes, 10 tape blocks
...

Perparations

SpiderMonkey has no install script for OpenSolaris. Therefore we need to use the default Solaris script with minor modifications.

root@test:/tmp# cd js/src/config
root@test:/tmp/js/src/config# ln -s SunOS5.5.mk SunOS5.11_i86pc.mk
root@test:/tmp/js/src# cd ..
root@test:/tmp/js/src# mv config.mk config.mk.bak
root@test:/tmp/js/src# sed 's|NS_USE_NATIVE = 1|#NS_USE_NATIVE = 1|g' config.mk.bak > config.mk
root@test:/tmp/js/src# rm lock_SunOS.s
root@test:/tmp/js/src# PATH=/usr/bin:/usr/gcc/4.3/bin:$PATH

Building

The building-process should work flawless with the modified config.

root@test:/tmp/js/src# gmake -f Makefile.ref
cat: cannot open ../../dist/SunOS5.11_i86pc_DBG.OBJ/nspr/Version: No such file or directory
cd editline; gmake -f Makefile.ref all
gmake[1]: Entering directory `/tmp/js/src/editline'
gcc -o SunOS5.11_i86pc_DBG.OBJ/editline.o -c -Wall -Wno-format -DXP_UNIX -g -DXP_UNIX -DSVR4 -DSYSV -DSOLARIS -DHAVE_LOCALTIME_R  -DDEBUG -DDEBUG_  -DJSFILE  -DANSI_ARROWS -DHAVE_TCGETATTR -DHIDE -DUSE_DIRENT -DSYS_UNIX -DHAVE_STDLIB -DUNIQUE_HISTORY editline.c
...

root@test:/tmp/js/src# JS_DIST=/opt/local gmake -f Makefile.ref export
cat: cannot open ../../dist/SunOS5.11_i86pc_DBG.OBJ/nspr/Version: No such file or directory
cd editline; gmake -f Makefile.ref export
gmake[1]: Entering directory `/tmp/js/src/editline'
gmake[1]: Nothing to be done for `export'.
...

Next steps

After installing SpiderMonkey, we can finally install CouchDB:
CouchDB on OpenSolaris: Part 4 – CouchDB


Related Posts



2 Kommentare bis “CouchDB on OpenSolaris: Part 3 – Spidermonkey”

  1. [...] on OpenSolaris: Part 1 – Erlang CouchDB on OpenSolaris: Part 2 – ICU CouchDB on OpenSolaris: Part 3 – Spidermonkey CouchDB on OpenSolaris: Part 4 – CouchDB CouchDB on OpenSolaris: Part 5 – Setting up [...]

  2. [...] You can find the required steps to install the SpiderMonkey JS Library in this previous post: SpiderMonkey on OpenSolaris [...]

Eine Antwort schreiben