couchdb 1.6.0 dalla sorgente – jsapi.h: presente ma non può essere compilato

Sto provando ad installare couchdb 1.6.0 da sorgente su CentOS 6.5 (EPEL resository ha una versione molto vecchia purtroppo) seguendo questa guida . Tutto è andato bene fino a quando error: Could not find the jsapi header passaggio di ./configure su couchdb – error: Could not find the jsapi header

Ho aggiunto argomenti con --with-js-include e --with-js-lib , per vedere un errore leggermente diverso questa volta:

  • kswap usando il 100% della CPU anche con 100GB + di RAM disponibile
  • Centos: più indirizzi IP
  • SCP da un server esterno ad un altro
  • Come elencare tutti i nomi utente FTP usando SSH
  • Quale lavoro cron è / usr / lib / sa / sa1
  • Possibile aggiornare PowerShell 2.0 a 3.0 senza un riavvio?
  •  checking for erl... /opt/couchdb/erlang/bin/erl checking for escript... /usr/bin/escript checking for JS... no checking for JS... no checking jsapi.h usability... no checking jsapi.h presence... yes configure: WARNING: jsapi.h: present but cannot be compiled configure: WARNING: jsapi.h: check for missing prerequisite headers? configure: WARNING: jsapi.h: see the Autoconf documentation configure: WARNING: jsapi.h: section "Present But Cannot Be Compiled" configure: WARNING: jsapi.h: proceeding with the preprocessr's result configure: WARNING: jsapi.h: in the future, the compiler will take precedence configure: WARNING: ## ------------------------------------------------------------ ## configure: WARNING: ## Report this to https://issues.apache.org/jira/browse /COUCHDB ## configure: WARNING: ## ------------------------------------------------------------ ## checking for jsapi.h... yes checking for JS_NewContext in -lmozjs185... no checking for JS_NewContext in -lmozjs185-1.0... no checking for JS_NewContext in -lmozjs... no checking for JS_NewContext in -ljs... no checking for JS_NewContext in -ljs3250... no checking for JS_NewContext in -ljs32... no configure: error: Could not find the js library. 

    Il command di configuration che utilizzo è: apache-couchdb-1.6.0]# ./configure --prefix=/opt/couchdb/couchdb --with-erlang=/opt/couchdb/erlang/lib/erlang/usr/include/ --enable-js-trunk --with-js-include=/usr/local/include/mozjs-24/ --with-js-lib=/usr/local/lib/libmozjs-24.so

    ls -ltr /usr/local/lib mi dà questo:

     -r-xr-xr-x 1 root root 10362062 Aug 3 04:11 libpython2.7.a drwxr-xr-x 27 root root 20480 Aug 3 04:11 python2.7 -rwxr-xr-x 1 root root 482243720 Aug 3 04:31 libmozjs-24.a -rwxr-xr-x 1 root root 138436471 Aug 3 04:31 libmozjs-24.so drwxr-xr-x 2 root root 4096 Aug 3 04:36 pkgconfig 

    I pacchetti che stavo installando erano:

     http://www.erlang.org/download/otp_src_17.1.tar.gz http://curl.haxx.se/download/curl-7.37.1.tar.gz https://ftp.mozilla.org/pub/mozilla.org/js/mozjs-24.2.0.tar.bz2 http://www.interior-dsgn.com/apache/couchdb/source/1.6.0/apache-couchdb-1.6.0.tar.gz 

  • Yum non installa la versione più recente di Git su Centos6
  • Installazione PDO_MYSQL su CentOs6
  • Specificare l'interface di networking da utilizzare
  • Linux invia richieste ARP a host in altre sottoreti?
  • Supervisord - errore di file ini su CentOS
  • Contesti SELinux con condivisioni NFS
  • 3 Solutions collect form web for “couchdb 1.6.0 dalla sorgente – jsapi.h: presente ma non può essere compilato”

    CouchDB richiede che siano installate specifiche versioni delle dependencies. Dal file INSTALL.Unix:

     Dependencies ------------ You should have the following installed: * Erlang OTP (>=R14B01, =<R17) (http://erlang.org/) * ICU (http://icu-project.org/) * OpenSSL (http://www.openssl.org/) * Mozilla SpiderMonkey (1.8.5) (http://www.mozilla.org/js/spidermonkey/) * GNU Make (http://www.gnu.org/software/make/) * GNU Compiler Collection (http://gcc.gnu.org/) * libcurl (http://curl.haxx.se/libcurl/) * help2man (http://www.gnu.org/s/help2man/) * Python (>=2.7) for docs (http://python.org/) * Python Sphinx (>=1.1.3) (http://pypi.python.org/pypi/Sphinx) 

    Nel mio caso ho installato SpiderMonkey 1.8.5 e Erlang OTP 17.5 per l'installazione per lavorare su CentOS 6.4. Dopo aver installato quelle versioni specifiche di SpiderMonkey e Erlang, sono stato in grado di autoconfare, build e installare CouchDB con:

     ./configure --enable-init ; make ; sudo make install 

    Vorresti avere la "–enable-init" flag in modo che sia incluso uno script init, in modo che il servizio couchdb inizia all'avvio e potrai controllarlo come un normale servizio.

    Per triggersre il servizio, eseguire:

     pushd /etc/init.d ; sudo ln-s /usr/local/etc/rc.d/couchdb couchdb ; popd ; sudo chkconfig --add couchdb ; sudo chkconfig couchdb on 

    Inoltre, è necessario aggiungere l'utente couchdb, assicurarsi che l'account sia bloccato e impostare le autorizzazioni nelle directory appropriate:

     sudo adduser --no-create-home couchdb ; sudo usermod -L couchdb ; sudo chown -R couchdb:couchdb /usr/local/var/{lib,log,run}/couchdb /usr/local/etc/couchdb 

    Ora puoi iniziare il servizio:

     sudo service couchdb start 

    Installare Spidermonkey dalla sorgente utilizzando http://wiki.apache.org/couchdb/Installing_SpiderMonkey

    La parte importnte è dalla fonte e non affidarsi alla distribuzione apt-get.

    Quindi utilizzare la build couchdb:

     ./configure --prefix=/usr/local --with-js-lib=/usr/lib --with-js-include=/usr/include/mozjs --enable-init 

    check out http://wiki.apache.org/couchdb/Installing_SpiderMonkey

    "Installazione su Linux per le versioni CouchDB> = 1.1" e seguire i passi sotto

    in particolare, il download di curl -L -O http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz funziona.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.