You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by Apache Wiki <wi...@apache.org> on 2010/05/02 20:47:18 UTC

[Couchdb Wiki] Update of "Error_messages" by SebastianCohnen

Dear Wiki user,

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

The "Error_messages" page has been changed by SebastianCohnen.
The comment on this change is: added first level heading; added TOC; removed unnecessary anchors; cleanup.
http://wiki.apache.org/couchdb/Error_messages?action=diff&rev1=20&rev2=21

--------------------------------------------------

+ = Error Messages =
+ <<TableOfContents()>>
+ 
  Explanation and solution of error messages you may experience while building or running CouchDB.
  
  
-  * [[#InstallationErrors|Installation Errors]]
-   * [[#Missingicu-config|Missing icu-config]]
-   * [[#Erlang-version-less-5.6.0|Erlang version is less than 5.6.5]]
-   * [[#IncorrectLD_LIBRARY_PATH|Incorrect LD_LIBRARY_PATH]]
-   * [[#BinaryArchitectureMismatchOSX|Binary Architecture Mismatch OSX]]
-   * [[#BinaryArchitectureMismatchSolarisSPARC|Binary Architecture Mismatch Solaris/SPARC]]
-   * [[#UnavailablePort|Unavailable Port]]
-   * [[#MissingOpenSSL|Missing OpenSSL]]
-   * [[#IncorrectPermissions|Incorrect Permissions or Missing Directories]]
-   * [[#CrashOnStartup|Crash On Startup]]
-  * [[#RuntimeErrors|Runtime Errors]]
-   * [[#functionraisedexceptionCannotencodeundefinedvalueasJSON|function raised exception (Cannot encode 'undefined' value as JSON)]]
-   * [[#replicationreceivedexceptionerrorbadmatchreasonerroralreadypresent|replication received exception ({"error":"badmatch","reason":"{error,already_present}"})]]
- 
- <<Anchor(InstallationErrors)>>
- = Installation errors =
+ == Installation errors ==
  
- <<Anchor(Missingicu-config)>>
+ 
- == Missing icu-config ==
+ === Missing icu-config ===
  
- === Problem ===
+ '''Problem'''
  
  {{{
  *** The icu-config script could not be found. Make sure it is
@@ -31, +19 @@

  *** Or see http://ibm.com/software/globalization/icu/
  }}}
  
- === Solution ===
+ '''Solution'''
  
  Install ICU and use `locate` to find the `icu-config` command:
  
@@ -50, +38 @@

  export PATH="$PATH:/usr/local/bin"
  }}}
  
- <<Anchor(Erlang-version-less-5.6.5)>>
+ 
- == Erlang version is less than 5.6.5 (R12B) ==
+ === Erlang version is less than 5.6.5 (R12B) ===
  
- === Problem ===
+ '''Problem'''
  
  Even after doing sudo apt-get install erlang you are getting the following error on ubuntu 8.04:
  {{{
  configure: error: The installed Erlang version is less than 5.6.5 (R12B).
  }}}
  
- === Solution ===
+ '''Solution'''
  
  To get a later version without bothering with installing from source edit /etc/apt/sources.list and locate the following line:
  {{{
@@ -87, +75 @@

  erl
  }}}
  
- <<Anchor(IncorrectLD_LIBRARY_PATH)>>
+ 
- == Incorrect LD_LIBRARY_PATH ==
+ === Incorrect LD_LIBRARY_PATH ===
  
- === Problem ===
+ '''Problem'''
  
  {{{
  $ couchdb      
@@ -116, +104 @@

  init terminating in do_boot (libjs.so: cannot open shared object file: No such file or directory)
  }}}
  
- === Solution ===
+ '''Solution'''
  
  You must correctly set your `LD_LIBRARY_PATH` environment variable so that it picks up your installed libraries. On Mac OS X, the equivalent variable is `DYLD_LIBRARY_PATH`.
  
@@ -134, +122 @@

  
  Similar instructions are on the InstallingSpiderMonkey page.
  
- <<Anchor(BinaryArchitectureMismatchOSX)>>
+ 
- == Binary Architecture Mismatch OSX ==
+ === 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.
  
- === Problem ===
+ '''Problem'''
  
  {{{
  $ couchdb      
@@ -152, +140 @@

  init terminating in do_boot ()
  }}}
  
- === Solution ===
+ '''Solution'''
  
  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.
  
- <<Anchor(BinaryArchitectureMismatchSolarisSPARC)>>
+ 
- == Binary Architecture Mismatch Solaris/SPARC ==
+ === Binary Architecture Mismatch Solaris/SPARC ===
  
- === Problem ===
+ '''Problem'''
  {{{
  Apache CouchDB 0.8.1-incubating (LogLevel=info)
  Apache CouchDB is starting.
@@ -176, +164 @@

  symbol ucol_close_4_0: r
  }}}
  
- === Solution ===
+ '''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.
  
@@ -184, +172 @@

  
  Also, use LD_LIBRARY_PATH or crle to make /usr/local/lib earlier in the search path than /usr/lib.
  
- <<Anchor(UnavailablePort)>>
+ 
- == Unavailable Port ==
+ === Unavailable Port ===
  
- === Problem ===
+ '''Problem'''
  
  {{{
  $ couchdb      
@@ -196, +184 @@

  {"init terminating in do_boot",{{badmatch,{error,shutdown}},[{couch_server_sup,start_server,1},{erl_eval,do_apply,5},{erl_eval,exprs,5},{init,start_it,1},{init,start_em,1}]}}
  }}}
  
- === Solution ===
+ '''Solution'''
  
  Edit your `/etc/couchdb/couch.ini` file and change the `Port` setting to an available port.
  
- <<Anchor(MissingOpenSSL)>>
+ 
- == Missing OpenSSL ==
+ === Missing OpenSSL ===
  
- === Problem ===
+ '''Problem'''
  
  {{{
  $ bin/couchdb
@@ -216, +204 @@

  init terminating in do_boot ()
  }}}
  
- === Solution ===
+ '''Solution'''
  
  You are missing erlang SSL support.
  
@@ -224, +212 @@

  
  If you compiled by hand, you need to install the OpenSSL libraries and recompile Erlang with SSL enabled.
  
- <<Anchor(IncorrectPermissions)>>
+ 
- == Incorrect Permissions or Missing Directories ==
+ === Incorrect Permissions or Missing Directories ===
  
- === Problem ===
+ '''Problem'''
  
  {{{
  $ bin/couchdb
@@ -238, +226 @@

  init terminating in do_boot ()
  }}}
  
- === Solution ===
+ '''Solution'''
  
  You need to make sure that the user running couchdb has permissions to write to /usr/local/var/lib/couchdb and /usr/local/var/log/couchdb. This error message may also appear if CouchDB is trying to bind to a port that is already in use.
  
  Also check that the directories specified in your local.ini are there, like the database_dir and the directory where the log file is created. If they are not there, create them.
  
- <<Anchor(CrashOnStartup)>>
+ 
- == Crash On Startup ==
+ === Crash On Startup ===
  
- === Problem ===
+ '''Problem'''
  
  {{{
  $ sudo couchdb
@@ -258, +246 @@

  init terminating in do_boot (Driver is an inappropriate Mach-O file)
  }}}
  
- === Solution ===
+ '''Solution'''
  
  This is related to an update made in erlang (http://www.nabble.com/OS-X-fixes-(HiPE,-ddll-unload)-td19411880.html) Upgrading to version R12B-5 or higher should fix things.
  
- <<Anchor(RuntimeErrors)>>
+ 
- = Runtime Errors =
+ == Runtime Errors ==
  
- <<Anchor(functionraisedexceptionCannotencodeundefinedvalueasJSON)>>
+ 
- == function raised exception (Cannot encode 'undefined' value as JSON) ==
+ === function raised exception (Cannot encode 'undefined' value as JSON) ===
  
- === Problem ===
+ '''Problem'''
  
  A view index fails to build, CouchDB Logs this error message:
  
@@ -276, +264 @@

  function raised exception (Cannot encode 'undefined' value as JSON)
  }}}
  
- === Solution ===
+ '''Solution'''
  
  The JavaScript code you are using for the map or reduce function is using an object member that is not defined. Consider this document
  
@@ -324, +312 @@

  }
  }}}
  
- <<Anchor(replicationreceivedexceptionerrorbadmatchreasonerroralreadypresent)>>
+ 
- == replication received exception ({"error":"badmatch","reason":"{error,already_present}"}) ==
+ === replication received exception ({"error":"badmatch","reason":"{error,already_present}"}) ===
  
- === Problem ===
+ '''Problem'''
  
  A replication request receives the following HTTP response
  
@@ -335, +323 @@

  HTTP/1.1 500 Internal Server Error - {"error":"badmatch","reason":"{error,already_present}"}
  }}}
  
- === Solution ===
+ '''Solution'''
  
  Alas, there is no information about this at present - it is being looked into. Observed on a 0.9 release running on x86_64 Linux