iriscouch / build-couchdb

Batteries-included CouchDB build system
227 stars 36 forks source link

Build won't start — {app_would_not_start,asn1} #92

Closed natevw closed 11 years ago

natevw commented 11 years ago

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?

natevw commented 11 years ago

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

natevw commented 11 years ago

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.

ghost commented 11 years ago

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

natevw commented 11 years ago

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

ghost commented 11 years ago

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.

likwid commented 11 years ago

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

ghost commented 11 years ago

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 10 years ago

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/iriscouch/build-couchdb/issues/92#issuecomment-26470122 .