iriscouch/build-couchdb

Build won't start — {app_would_not_start,asn1}

Closed this issue · 8 comments

I just pulled lastest here, updated the submodules and ran rake. Now when I try start couchdb, I get:

{"init terminating in do_boot",{{badmatch,{error,{{app_would_not_start,asn1}…

Looks like it's using R15B. Is there some newly used Erlang module that build-couchdb is throwing out?

Building with rake otp_keep="*" does not help.

I did a fresh (i.e. clean) checkout of build-couchdb to a new directory.

sudo apt-get install help2man make gcc zlib1g-dev libssl-dev rake help2man texinfo flex dctrl-tools libsctp-dev libxslt1-dev libcap2-bin automake autoconf
git clone git://github.com/iriscouch/build-couchdb
cd build-couchdb
git submodule init
git submodule update
rake

Does produce a working CouchDB 1.4.0 build for me on Ubuntu. I suspect the problem was related to rebuilding within the same directory as the earlier 1.1–era compile, maybe something stale was prevent a proper build.

FWIW, I ran in to this issue when I was mistakenly throwing away the asn1 erlang module; it was added because one of the other modules in erlang R1601 now depends on it: https://git-wip-us.apache.org/repos/asf?p=couchdb.git;a=commitdiff;h=6170654;hp=92c33a7ee7d753ace9e1ea764fd74a329e6ab3fb

Yeah, not sure why the otp_keep="*" option didn't help, but I'm sure not going to try rebuild CouchDB overtop the folder that is actively hosting half my websites again :-P

I'm not using build-couchdb, but I had to add the asn1, syntax_tools, and xmerl modules to my whitelist in order to update from 1.3.1 to 1.4. The full list I'm using is:

asn1-* crypto-* compiler-* inets-* kernel-* os_mon-* public_key-* sasl-* ssl-* stdlib-* tools-* syntax_tools-* xmerl-*

Probably not too helpful to you, but maybe useful for someone else who stumbles upon the issue.

@browndav What does whitelisting mean? I am running into this exact problem

I have a custom script that deletes all of the erlang modules except for those required by CouchDB (what I'm referring to as "whitelisting" modules). I'm able to get CouchDB to start with the following modules (all others deleted):

asn1-* crypto-* compiler-* inets-* kernel-* os_mon-* public_key-* sasl-* ssl-* stdlib-* tools-* syntax_tools-* xmerl-*

Sorry, I haven't used build-couchdb recently, but may give it a shot in the next day or two.

jhs commented

Yes, build-couchdb does that itself too. I thought asn1 is needed for newer
CouchDB but I could be wrong.

The code to do that is here
https://github.com/iriscouch/build-couchdb/blob/master/tasks/erlang.rake#L10-L18

On Wed, Oct 16, 2013 at 7:10 PM, David Brown notifications@github.comwrote:

I have a custom script that deletes all of the erlang modules except for
those required by CouchDB (what I'm referring to as "whitelisting"
modules). I'm able to get CouchDB to start with the following modules (all
others deleted):

asn1-* crypto-* compiler-* inets-* kernel-* os_mon-* public_key-* sasl-*
ssl-* stdlib-* tools-* syntax_tools-* xmerl-*

Reply to this email directly or view it on GitHubhttps://github.com//issues/92#issuecomment-26470122
.