Ok... so I:
1. uninstalled couch
2. downloaded and built, tested, installed spidermonkey 1.8.5, following
the instructions at
https://developer.mozilla.org/en-US/docs/SpiderMonkey/Build_Documentation (note:
what a pain, it requires autoconf-2.13 to build, it won't build with
newer versions)
3. reconfigured, made, tested, installed couch - using:
./configure --prefix=/usr/local --with-js-lib=/usr/lib
--with-js-include=/usr/include/mozjs --enable-init
(from the Apache wiki)
yet again, Couch starts up apparently ok, but fails about half the
developer tests
4. figured that configuration wasn't quite right, so went hunting for
where spidermonkey actually put its libraries, and based on that,
uninstalled, reconfigured, made tested, installed using:
./configure --prefix=/usr/local --with-js-lib=/usr/local/lib
--with-js-include=/usr/local/include/js --enable-init
and, now, configure finds everything, but make fails with this:
Making all in priv
make[4]: Entering directory
`/usr/local/src/apache-couchdb-1.2.1/src/couchdb/priv'
/bin/bash ../../../libtool --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H -I. -I../../.. -I../../../src/snappy/google-snappy
-I/usr/local/lib/erlang/usr/include -D_XOPEN_SOURCE -I/opt/local/include
-I/usr/local/include -I/usr/include -O2 -g -O2 -MT
couch_icu_driver_la-couch_icu_driver.lo -MD -MP -MF
.deps/couch_icu_driver_la-couch_icu_driver.Tpo -c -o
couch_icu_driver_la-couch_icu_driver.lo `test -f
'icu_driver/couch_icu_driver.c' || echo './'`icu_driver/couch_icu_driver.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../..
-I../../../src/snappy/google-snappy -I/usr/local/lib/erlang/usr/include
-D_XOPEN_SOURCE -I/opt/local/include -I/usr/local/include -I/usr/include
-O2 -g -O2 -MT couch_icu_driver_la-couch_icu_driver.lo -MD -MP -MF
.deps/couch_icu_driver_la-couch_icu_driver.Tpo -c
icu_driver/couch_icu_driver.c -fPIC -DPIC -o
.libs/couch_icu_driver_la-couch_icu_driver.o
icu_driver/couch_icu_driver.c:171: warning: initialization from
incompatible pointer type
mv -f .deps/couch_icu_driver_la-couch_icu_driver.Tpo
.deps/couch_icu_driver_la-couch_icu_driver.Plo
/bin/bash ../../../libtool --tag=CC --mode=link gcc -O2 -g -O2
-module -avoid-version -L/opt/local/lib -L/usr/local/lib -o
couch_icu_driver.la -rpath
/usr/local/lib/couchdb/erlang/lib/couch-1.2.1/priv/lib
couch_icu_driver_la-couch_icu_driver.lo -ldl -lm -L/usr/lib -licui18n
-licuuc -licudata -ldl -lm -L/opt/local/lib -L/usr/local/lib -lcrypt
libtool: link: rm -fr .libs/couch_icu_driver.la
.libs/couch_icu_driver.lai .libs/couch_icu_driver.so
libtool: link: gcc -shared
.libs/couch_icu_driver_la-couch_icu_driver.o -L/opt/local/lib
-L/usr/local/lib -L/usr/lib -licui18n -licuuc -licudata -ldl -lm
-lcrypt -Wl,-soname -Wl,couch_icu_driver.so -o .libs/couch_icu_driver.so
libtool: link: ( cd ".libs" && rm -f "couch_icu_driver.la" && ln -s
"../couch_icu_driver.la" "couch_icu_driver.la" )
gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/snappy/google-snappy
-D_XOPEN_SOURCE -I/opt/local/include -I/usr/local/include
-I/usr/include -g -Wall -Werror -D_BSD_SOURCE -DXP_UNIX
-I/usr/local/include/js -I/usr/local/include/js/js
-I/usr/local/include/js/mozjs -I/opt/local/include -I/usr/local/include
-I/usr/include -O2 -g -O2 -MT couchjs-http.o -MD -MP -MF
.deps/couchjs-http.Tpo -c -o couchjs-http.o `test -f 'couch_js/http.c'
|| echo './'`couch_js/http.c
mv -f .deps/couchjs-http.Tpo .deps/couchjs-http.Po
gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/snappy/google-snappy
-D_XOPEN_SOURCE -I/opt/local/include -I/usr/local/include
-I/usr/include -g -Wall -Werror -D_BSD_SOURCE -DXP_UNIX
-I/usr/local/include/js -I/usr/local/include/js/js
-I/usr/local/include/js/mozjs -I/opt/local/include -I/usr/local/include
-I/usr/include -O2 -g -O2 -MT couchjs-main.o -MD -MP -MF
.deps/couchjs-main.Tpo -c -o couchjs-main.o `test -f 'couch_js/main.c'
|| echo './'`couch_js/main.c
cc1: warnings being treated as errors
In file included from couch_js/main.c:18:
couch_js/sm180.c: In function 'req_status':
couch_js/sm180.c:108: error: implicit declaration of function
'INT_FITS_IN_JSVAL'
couch_js/sm180.c: In function 'evalcx':
couch_js/sm180.c:143: error: implicit declaration of function
'JS_GetStringChars'
couch_js/sm180.c:143: error: assignment makes pointer from integer
without a cast
couch_js/sm180.c: In function 'seal':
couch_js/sm180.c:229: error: implicit declaration of function
'JS_SealObject'
couch_js/sm180.c: At top level:
couch_js/sm180.c:245: error: initialization from incompatible pointer type
couch_js/sm180.c:255: error: initialization from incompatible pointer type
In file included from couch_js/main.c:18:
couch_js/sm180.c:261:64: error: macro "JS_FS" passed 5 arguments, but
takes just 4
couch_js/sm180.c:261: error: 'JS_FS' undeclared here (not in a function)
couch_js/sm180.c:262:79: error: macro "JS_FS" passed 5 arguments, but
takes just 4
couch_js/sm180.c:263:64: error: macro "JS_FS" passed 5 arguments, but
takes just 4
couch_js/sm180.c:274: error: initialization from incompatible pointer type
couch_js/sm180.c:284:63: error: macro "JS_FS" passed 5 arguments, but
takes just 4
couch_js/sm180.c:284: error: missing braces around initializer
couch_js/sm180.c:284: error: (near initialization for 'global_functions[0]')
couch_js/sm180.c:284: error: initializer element is not constant
couch_js/sm180.c:284: error: (near initialization for
'global_functions[0].name')
couch_js/sm180.c:285:55: error: macro "JS_FS" passed 5 arguments, but
takes just 4
couch_js/sm180.c:285: error: initializer element is not constant
couch_js/sm180.c:285: error: (near initialization for
'global_functions[0].call')
couch_js/sm180.c:286:61: error: macro "JS_FS" passed 5 arguments, but
takes just 4
couch_js/sm180.c:286: error: initializer element is not constant
couch_js/sm180.c:286: error: (near initialization for
'global_functions[0].nargs')
couch_js/sm180.c:287:59: error: macro "JS_FS" passed 5 arguments, but
takes just 4
couch_js/sm180.c:287: error: initializer element is not constant
couch_js/sm180.c:287: error: (near initialization for
'global_functions[0].flags')
couch_js/sm180.c:288:67: error: macro "JS_FS" passed 5 arguments, but
takes just 4
couch_js/sm180.c:288: error: initializer element is not constant
couch_js/sm180.c:288: error: (near initialization for
'global_functions[1].name')
couch_js/sm180.c:289:59: error: macro "JS_FS" passed 5 arguments, but
takes just 4
couch_js/sm180.c:289: error: initializer element is not constant
couch_js/sm180.c:289: error: (near initialization for
'global_functions[1].call')
couch_js/sm180.c:290: error: braces around scalar initializer
couch_js/sm180.c:290: error: (near initialization for
'global_functions[1].nargs')
couch_js/sm180.c:290: error: initialization makes integer from pointer
without a cast
couch_js/sm180.c:290: error: excess elements in scalar initializer
couch_js/sm180.c:290: error: (near initialization for
'global_functions[1].nargs')
couch_js/sm180.c:290: error: excess elements in scalar initializer
couch_js/sm180.c:290: error: (near initialization for
'global_functions[1].nargs')
couch_js/sm180.c:290: error: excess elements in scalar initializer
couch_js/sm180.c:290: error: (near initialization for
'global_functions[1].nargs')
couch_js/sm180.c: In function 'main':
couch_js/sm180.c:301: error: 'JSScript' undeclared (first use in this
function)
couch_js/sm180.c:301: error: (Each undeclared identifier is reported
only once
couch_js/sm180.c:301: error: for each function it appears in.)
couch_js/sm180.c:301: error: 'script' undeclared (first use in this
function)
couch_js/sm180.c:301: error: invalid operands to binary * (have 'struct
JSFunctionSpec *' and 'struct JSFunctionSpec *')
couch_js/sm180.c:301: error: statement with no effect
couch_js/sm180.c:345: error: passing argument 5 of 'JS_InitClass' from
incompatible pointer type
/usr/local/include/js/jsapi.h:2110: note: expected 'JSNative' but
argument is of type 'JSBool (*)(struct JSContext *, struct JSObject *,
uintN, jsval *, jsval *)'
couch_js/sm180.c:359: error: assignment makes pointer from integer
without a cast
couch_js/sm180.c:364: error: implicit declaration of function 'JS_AddRoot'
couch_js/sm180.c:370: error: statement with no effect
couch_js/sm180.c:376: error: passing argument 3 of 'JS_ExecuteScript'
from incompatible pointer type
/usr/local/include/js/jsapi.h:2802: note: expected 'struct JSObject *'
but argument is of type 'struct JSFunctionSpec *'
couch_js/sm180.c:379: error: implicit declaration of function
'JS_RemoveRoot'
make[4]: *** [couchjs-main.o] Error 1
make[4]: Leaving directory
`/usr/local/src/apache-couchdb-1.2.1/src/couchdb/priv'
Further suggestions?
Thanks,
Miles Fidelman
Robert Newson wrote:
Ah, that would be at least part of the problem, you need 1.8.5.
libmozjs185-dev, iirc.
B.
On 11 January 2013 17:05, Miles Fidelman <[email protected]> wrote:
Robert Newson wrote:
The install root defaults to /usr/local/ so installing config stuff to
/etc instead of /usr/local/etc would be non-standard (to say the
least).
Fair enough.
What version of SpiderMonkey do you have installed?
The directions I followed were based on using mozjs, with directions to
install libmozjs-dev libmozjs2d via apt, and to configure w/
./configure --prefix=/usr/local --with-js-lib=/usr/lib
--with-js-include=/usr/include/mozjs --enable-init
looks like version 1.9.1.16-20 of both packages (the current one from the
Debian Squeeze repo.)
B.
On 11 January 2013 16:43, Miles Fidelman <[email protected]>
wrote:
Hi Folks,
HELP!
Just installed CouchDB 1.2.1 under Debian (Squeeze, amd64), using the
instructions at
http://wiki.apache.org/couchdb/Installing_on_Debian
Notice a few things during the install:
- make test ran all but one test successfully - 220-compaction-daemon.t
Failed
- make did NOT install the startup script in /etc/init.d/ - had to copy
it
in manually
- it seems sort of odd for Couch to install config stuff under
/usr/local/etc, rather than /etc (non-standard to say the least)
- everything starts up fine
- verify installation tells me everything is fine
but....
- when I run the test suites, 39 of 62 fail!
- I'd love to share the test report, or a link to it (I told Futon to
share
it), but...
--- any suggestions on how either extract the local copy in a form that
can
be attached to an email, or,
--- how to identify the report in the 7000 or so in the shared test
report
database?
First question: any simple way to extract the test report as a document I
can attach to an email
HELP!!!
Thanks,
Miles Fidelman
--
In theory, there is no difference between theory and practice.
In practice, there is. .... Yogi Berra
--
In theory, there is no difference between theory and practice.
In practice, there is. .... Yogi Berra
--
In theory, there is no difference between theory and practice.
In practice, there is. .... Yogi Berra