【问题标题】:Compile CouchDB from source on Ubuntu Lucid, automatically在 Ubuntu Lucid 上自动从源代码编译 CouchDB
【发布时间】:2011-11-10 11:03:57
【问题描述】:

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 库? (除了从源代码编译)

【问题讨论】:

    标签: javascript couchdb mozilla spidermonkey


    【解决方案1】:

    【讨论】:

    • 我的脚本中已经有了这个,但它不起作用:sudo add-apt-repository ppa:launchpad/ppa ; sudo apt-get update ; sudo apt-get install -y libmozjs-dev。如果我执行sudo apt-cache search libmozjs,则不会产生任何结果。
    • 这些软件包是从 Ubuntu Lucid 上取下来的,幸运的是我在 Launchpad 上找到了它们。我认为 apt-add-repository 不会给出任何结果。我们的想法是手动安装它们,因此您应该将脚本转换为这种形式:dpkg -i %package.deb%
    【解决方案2】:

    作为参考,根据 Dmitry 的帖子,这就是我最终要做的:

    # 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
    

    【讨论】:

    • 我不得不提一下,对于 Maverick 和 Natty,libmozjs-dev 也不存在。
    【解决方案3】:

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

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

    适用于 Lucid,但不适用于较新的发行版,因为那里不存在 mozilla-js...

    【讨论】:

      猜你喜欢
      • 2014-04-17
      • 2017-06-03
      • 1970-01-01
      • 1970-01-01
      • 2015-01-21
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多