Skip to main content

Install couchdb for lisp on Debian

// every time you meet PGP signature, skip the checking

// other wise, try to accept the condition, treat it like it is successfully installed (for the example*.lisp, which sounds reasonable to skip)

// I install the package in the system-wide directory

// install debian package: couchdb, lisp package: clouchdb, cl-couchdb

  1. sudo apt-get install cl-asdf
  2. sudo apt-get install couchdb
  3. sudo apt-get install erlang (not sure if it is needed)
  4. sudo sbcl
  5. (require ‘asdf)
  6. (require ‘asdf-install)
  7. (asdf-install:install ‘cl-couchdb)
    • error: cl-couchdb-test component missing
  8. sudo apt-get install cl-cclan (not sure if it is needed)
  9. (asdf-install:install ‘cl-couchdb)
  10. (asdf-install:install ‘clouchdb)
    • debugger invoked on a SB-INT:STREAM-DECODING-ERROR in thread #<THREAD “initial thread” RUNNING {1002CA6DD1}>:
      • decoding error on stream
      • #<SB-SYS:FD-STREAM
      • for “file /usr/lib/sbcl/site/clouchdb_0.0.11/examples.lisp” {1005FE5DB1}>
      • (:EXTERNAL-FORMAT :ASCII):
      • the octet sequence (195) cannot be decoded.
      • Solution: 4 (treat it like it is successfully installed)
    • WARNING: COMPILE-FILE warned while performing
    • #<COMPILE-OP NIL {10060E3281}> on
    • #<CL-SOURCE-FILE “utilities” {1004FFDD71}>.
    • debugger invoked on a ASDF:COMPILE-FAILED in thread
    • #<THREAD “initial thread” RUNNING {1002CA6DD1}>:
      • erred while invoking #<COMPILE-OP NIL {10060E3281}> on
      • #<CL-SOURCE-FILE “utilities” {1004FFDD71}>
    • Solution: reference this page to solve the problem: http://paste.lisp.org/display/98816
      • Summary
      • in utilities.lisp
        • replace mop -> su-mop
      • in introspection.lisp
        • (add-group sub-result nil) -> (add-group sub-result)
      • (asdf-install:install ‘trivial-http)
  11. in /usr/local/bin/
    • sudo ./couchdb
    • # if no error occurs, you have successfully start the couchdb server
  12. use lisp to connect to couchdb server (sbcl)
    • ;; reference code from http://wiki.apache.org/couchdb/ClouchDB, but with slightly adjustment
    • ;; the server tell me that it does not accept capital letters
    • ;; Create a workspace package
    • (defpackage :clouchdb-user (:use :cl :clouchdb))
    • (in-package :clouchdb-user)
    • ;; See what databases exist on default connection, which is
    • ;; host “localhost”, port 5984
    • (list-dbs)
    • ;; Create database “myDb”
    • (set-connection :db-name “m_db”)
    • (create-db)
    • ;; Create a document in database “m_db”
    • (create-document ‘((:Subject . “I like Plankton”)
    • (:Author . “Rusty”)
    • (:PostedDate . “2006-08-15T17:30:12-04:00”)
    • (:Tags . (“plankton” “baseball” “decisions”))
    • :id “m_doc”))
    • ;; Get all documents in “m_db”
    • (get-all-documents)
    • ;; Get document “m_doc”
    • (get-document “m_doc”)
    • ;; Delete document “m_doc”
    • (delete-document :id “m_doc”)
    • ;; List information about database “m_db”
    • (get-db-info :db-name “m_db”)

Comments