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



4 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 [...]

  3. monkizzle sagt:

    I followed instructions to install spidermonkey but when i try to install mediatomb i still get libjs missing, libmagic missing, and taglib missing.

    If you have any ideas that could help me out i would greatly appreciate it.

  4. dev-eth0 sagt:

    Did you add the pathes to your libmagic etc installation?

    root@test:/tmp/mediatomb-0.12.1# ./configure --prefix=/opt/local \
    --with-js-h=/opt/local/include \
    --with-js-libs=/opt/local/lib \
    --enable-libmagic \
    --with-libmagic-h=/opt/local/include \
    --with-libmagic-libs=/opt/local/lib \
    --with-taglib-cfg=/opt/local/bin/taglib-config
    

Eine Antwort schreiben