自动从Ubuntu Lucid上的源代码编译CouchDB

时间:2011-11-10 11:03:58

标签: javascript couchdb mozilla spidermonkey

Ubuntu Lucid不再提供Mozilla SpiderMonkey作为独立软件包。根据此link,您必须使用xulrunner提供的库,并对CouchDB配置脚本说:

./configure --with-js-lib=/usr/lib/xulrunner-devel-1.9.2.3/lib --with-js-include=/usr/lib/xulrunner-devel-1.9.2.3/include

这很好,但我需要自动执行此操作。在我的情况下,这不是1.9.2.3,而是1.9.2.23,无论如何,这将在未来不经通知的情况下发生变化。我有一个安装CouchDB的无人值守脚本,我想调整它支持lucid。

我可以找到这个库:

$ locate libmozjs.so
/usr/lib/xulrunner-1.9.2.23/libmozjs.so

从那里派生libinclude目录。但这看起来很容易出错(系统中还有其他libmozjs.so,...)

理想的事情是问xulrunner本身。是否可以查询其libinclude目录的位置? (which xulrunner给了我一系列5(!)符号链接,无论如何都不会导致libinclude目录

或者更好的是,有没有办法在Lucid中以独立的方式安装SpiderMonkey库? (除了从源代码编译)

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

作为参考,根据德米特里的帖子,这就是我最终做的事情:

# Install SpiderMonkey
if [ "$UBUNTU_VERSION" == "lucid" ] ; then
    wget http://launchpadlibrarian.net/24586151/libmozjs0d_1.8.1.18%2Bnobinonly.b308.cvs20090331t155113-0ubuntu0.8.10.1_amd64.deb
    wget http://launchpadlibrarian.net/17059687/libmozjs-dev_1.8.1.16%2Bnobinonly-0ubuntu1_all.deb
    sudo dpkg -i libmozjs0d_1.8.1.18+nobinonly.b308.cvs20090331t155113-0ubuntu0.8.10.1_amd64.deb
    sudo dpkg -i libmozjs-dev_1.8.1.16+nobinonly-0ubuntu1_all.deb
else
    sudo apt-get install -y libmozjs-dev
fi

答案 2 :(得分:0)

我使用pkg-config检测库的路径,与命令行非常相似:

LDFLAGS="$(pkg-config mozilla-js --libs-only-L)" CFLAGS="$(pkg-config mozilla-js --cflags)" ./configure

对Lucid非常有用,对于较新的发行版来说不是很好,因为那里不存在mozilla-js ......