Mostly +1. I think that we should recommend installing spidermonkey from https://developer.mozilla.org/en-US/docs/SpiderMonkey/1.8.5
On Sat, Jan 26, 2013 at 11:55 AM, Dave Cottlehuber <[email protected]> wrote: > Hi everybody, > > For background, we discussed this on IRC almost a fortnight ago & I > wrote up a proposal. > > Situation: > The user experience for installing CouchDB from packages, or building > from source, is at best painful, due to dependency drift of our 2 core > pre-requisites, Erlang/OTP and SpiderMonkey. > > - Installing from packages typically delivers you an out-of-date > erlang, possibly unsuitable for production, or relying on backports. > > - Building from source leads you to a bewildering array of wiki links, > blog posts, INSTALL.* in github/ASF git, and a variety of other > options. > > Neither of these are good outcomes, and even as developers we (at > least I) struggle to remember the exact incantation and sacrifices for > an older release. > > Proposal: > > 1. Consolidate all the install documentation we have into just 2 places: > > - INSTALL.* for the steps/dependencies required to build from a source > release. These will have been tested by devs & community during a > release cycle so we can be sure this is appropriate. > > 2. rst / online docs: > > - a .rst doc that lists typical package dependencies and supported > releases. As these are in a 1.2.x or similar branch, and subsequently > generated on http://docs.couchdb.org/ they can be easily amended and > updated over time, whilst still preserving the history that we lose on > the wiki. This would include what packages are recommended, and how to > obtain them. > > The wiki pages would be retired, and in practice the bulk of updates > here comes from the usual suspects anyway. > > Specifically, for spidermonkey and Erlang, I am proposing that we > recommend using: > > - erlang releases from Erlang Solutions [esl] > - spidermonkey from cloudant [cloudant] > > This will not prevent those who wish to, to use only bundled packages > in their OS, but it *will* ensure that building from a recent source > will actually work reliably, and repeatably, and can be tested as part > of the CI work that Jan's been leading. > > Comments & criticism welcomed! > > A+ > Dave > > Background: > The version of CouchDB available in recent & current distribution lags > our latest release significantly. In many cases, the dependencies > required for CouchDB are not ideal, or in some cases, even compatible, > and neither maintainers nor ourselves are able to address this easily. > > Lucid (LTS): ok, but doesn't support NIFs > Oneiric: amd64 has R14B02, which is not usable at all. > Precise & Quantal: good (yay) > Squeeze: r14a (wat) > Wheezy: r15b01 good - yay > > And in all cases, spidermonkey is typically a hit-and-miss fiasco. > This again, is not due to a specific failure, just a reality that we > rely on a library that's primary purpose is a web browser, as opposed > to an embeddable component like libcurl or icu. > > [ubuntu]: http://packages.ubuntu.com/search?keywords=erlang-base > [debian]: http://packages.qa.debian.org/e/erlang.html and > http://packages.debian.org/search?suite=all&arch=any&searchon=names&keywords=erlang-base > [cloudant]: http://packages.cloudant.com/ > [esl]:https://www.erlang-solutions.com/downloads/download-erlang-otp
