私はCentOS6.5のソースからcouchdb1.6.0をインストールしようとしています(残念ながらEPEL resositoryには非常に古いバージョンがあります) このガイド 。 ./configure
がcouchdbを踏むまですべてがうまくいきました-error: Could not find the jsapi header
今回はわずかに異なるエラーを確認するために、--with-js-include
引数と--with-js-lib
引数を追加しました。
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 preprocessor'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.
私が使用しているconfigureコマンドは次のとおりです。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
は私にこれを与えます:
-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
私がインストールしていたパッケージは次のとおりです。
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
CouchDBでは、特定のバージョンの依存関係をインストールする必要があります。 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)
私の場合、CentOS 6.4で動作するように、SpiderMonkey1.8.5とErlangOTP17.5をインストールしました。これらの特定のバージョンのSpiderMonkeyとErlangをインストールした後、CouchDBをautoconf、ビルド、インストールすることができました。
./configure --enable-init ; make ; Sudo make install
「--enable-init」フラグが必要な場合は、initスクリプトが含まれているため、couchdbサービスが起動時に開始され、通常のサービスのように制御できます。
サービスを有効にするには、次を実行します。
pushd /etc/init.d ; Sudo ln-s /usr/local/etc/rc.d/couchdb couchdb ; popd ; Sudo chkconfig --add couchdb ; Sudo chkconfig couchdb on
また、couchdbユーザーを追加し、アカウントがロックされていることを確認し、適切なディレクトリにアクセス許可を設定する必要があります。
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
これで、サービスを開始できます。
Sudo service couchdb start
チェックアウト http://wiki.Apache.org/couchdb/Installing_SpiderMonkey
「LinuxforCouchDBバージョン> = 1.1へのインストール」を実行し、以下の手順に従います。
特に、curl -L -O http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz バージョンをダウンロードしてください。
Spidermonkeyをインストールするソースから使用 http://wiki.Apache.org/couchdb/Installing_SpiderMonkey
重要な部分はソースからであり、apt-getディストリビューションに依存しないことです。
次に、couchdbビルドを使用します。
./configure --prefix=/usr/local --with-js-lib=/usr/lib --with-js-include=/usr/include/mozjs --enable-init