couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Couchdb Wiki] Update of "Error messages" by JoshuaBoyd
Date Fri, 05 Dec 2008 18:55:43 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification.

The following page has been changed by JoshuaBoyd:

The comment on the change is:
Add information about a build problem on Solaris10/SPARC.

  Similar instructions are on the InstallingSpiderMonkey page.
- == Binary Architecture Mismatch ==
+ == Binary Architecture Mismatch OSX ==
  On Mac OS X, libraries and executables can be ''fat binaries'' that support multiple processor
architectures (PPC and x86, 32 and 64 bit). But that also means you will run into problems
when trying to load a library into an application if that library doesn't support the architecture
used by the application process.
@@ -95, +95 @@

  You've probably built Erlang with the 64 bit option enabled. The problem is that ICU, which
CouchDB attempts to load at startup time, has not been compiled with 64 bit support, so it
can't be loaded into the 64bit Erlang process.
  For now you'll have to recompile Erlang, and resist the temptation to build a 64 bit binary
(just omit the `--enable-darwin-64bit` option). The `--enable-darwin-universal` option works
okay, but note that currently there's no universal build of ICU available.
+ == Binary Architecture Mismatch Solaris/SPARC ==
+ === Problem ===
+ {{{
+ Apache CouchDB 0.8.1-incubating (LogLevel=info)
+ Apache CouchDB is starting.
+ {"init terminating in do_boot"," beam.smp: fatal: relocation
+ error: file
+ /opt/couchdb-0.8.1//lib/couchdb/erlang/lib/couch-0.8.1-incubating/priv/lib/
+ symbol ucol_close_4_0: referenced symbol not found"}
+ init terminating in do_boot ( beam.smp: fatal: relocation error:
+ file
+ /opt/couchdb-0.8.1//lib/couchdb/erlang/lib/couch-0.8.1-incubating/priv/lib/
+ symbol ucol_close_4_0: r
+ }}}
+ === Solution ===
+ Solaris provides an old version of the ICU library.  On SPARC hardware, when building the
current version of ICU, it defaults to 64bits, while erlang and spidermonkey defaulted to
32bit, so when linking, the linker picks the outdated version.
+ The solution is to rebuild ICU for 32bits.  At the ./configure step, add this flag, "--enable-64bit-libs=no".
+ Also, use LD_LIBRARY_PATH or crle to make /usr/local/lib earlier in the search path than
  == Unavailable Port ==

View raw message