rcouch / rcouch

static distribution of Apache CouchDB using rebar
http://rcouch.org
Apache License 2.0
68 stars 9 forks source link

mochijson2 module conflict #20

Closed kxepal closed 11 years ago

kxepal commented 11 years ago

Just have tried to make rel for rcouch and it had failed with the error:

ERROR: generate failed while processing /home/kxepal/projects/refuge/rcouch/rel: {'EXIT',{{badmatch,{error,"Module mochijson2 potentially included by two different applications: mochiweb and rabbit."}},
             [{rebar_reltool,generate,2,[]},
              {rebar_core,run_modules,4,[]},
              {rebar_core,execute,5,[]},
              {rebar_core,process_dir1,6,[]},
              {rebar_core,process_each,5,[]},
              {rebar_core,process_dir1,6,[]},
              {rebar_core,process_commands,2,[]},
              {rebar,main,1,[]}]}}
    make: *** [generate] Error 1

Yes, I have RabbitMQ also installed. Google told me that the only way to solve it - rename conflict module by adding project's prefix to his name, but for which side I should do this?

benoitc commented 11 years ago

mmm is rabbitmq installed system-wide?

On Thursday, September 26, 2013, Alexander Shorin wrote:

Just have tried to make rel for rcouch and it had failed with the error:

ERROR: generate failed while processing /home/kxepal/projects/refuge/rcouch/rel: {'EXIT',{{badmatch,{error,"Module mochijson2 potentially included by two different applications: mochiweb and rabbit."}}, [{rebar_reltool,generate,2,[]}, {rebar_core,run_modules,4,[]}, {rebar_core,execute,5,[]}, {rebar_core,process_dir1,6,[]}, {rebar_core,process_each,5,[]}, {rebar_core,process_dir1,6,[]}, {rebar_core,process_commands,2,[]}, {rebar,main,1,[]}]}} make: *\ [generate] Error 1

Yes, I have RabbitMQ also installed. Google told me that the only way to solve it - rename conflict module by adding project prefix to him, but for which side I should do this?

— Reply to this email directly or view it on GitHubhttps://github.com/refuge/rcouch/issues/20 .

kxepal commented 11 years ago

yes, it's installed via system package manager

kxepal commented 11 years ago

hm..I'd uninstall RabbitMQ and got the new error that totally shouldn't be related to rcouch (do you have ldap support?):

ERROR: generate failed while processing /home/kxepal/projects/refuge/rcouch/rel: {'EXIT',{{badmatch,{error,"Module 'ELDAPv3' potentially included by two different applications: eldap and tsung."}},
         [{rebar_reltool,generate,2,[]},
          {rebar_core,run_modules,4,[]},
          {rebar_core,execute,5,[]},
          {rebar_core,process_dir1,6,[]},
          {rebar_core,process_each,5,[]},
          {rebar_core,process_dir1,6,[]},
          {rebar_core,process_commands,2,[]},
          {rebar,main,1,[]}]}}
make: *** [generate] Error 1

May be there is something wrong with my system?

benoitc commented 11 years ago

oh yeah i had that whenn using tsung installed on the system. let me fix that during the afternoon.

On Thursday, September 26, 2013, Alexander Shorin wrote:

hm..I'd uninstall RabbitMQ and got the new error that totally shouldn't be related to rcouch (do you have ldap support?):

ERROR: generate failed while processing /home/kxepal/projects/refuge/rcouch/rel: {'EXIT',{{badmatch,{error,"Module 'ELDAPv3' potentially included by two different applications: eldap and tsung."}}, [{rebar_reltool,generate,2,[]}, {rebar_core,run_modules,4,[]}, {rebar_core,execute,5,[]}, {rebar_core,process_dir1,6,[]}, {rebar_core,process_each,5,[]}, {rebar_core,process_dir1,6,[]}, {rebar_core,process_commands,2,[]}, {rebar,main,1,[]}]}} make: *\ [generate] Error 1

May be there is something wrong with my system?

— Reply to this email directly or view it on GitHubhttps://github.com/refuge/rcouch/issues/20#issuecomment-25153440 .

kxepal commented 11 years ago

Solved problem by adding next lines into rel/reltool.config as was suggested in ML:

        %% conflicts
        {app, rabbit, [{incl_cond, exclude}]},
        {app, tsung, [{incl_cond, exclude}]},

But I feel this is a bit wrong way to go, since it's not a deal to maintain blacklist of conflicted projects...

benoitc commented 11 years ago

something should be done to detect the external deps somehow.... or rather all erlangs apps should be installed as a release ...

On Thu, Sep 26, 2013 at 12:41 PM, Alexander Shorin <notifications@github.com

wrote:

Solved problem by adding next lines into rel/reltool.config as was suggested in ML http://comments.gmane.org/gmane.comp.db.riak.user/4100:

    %% conflicts
    {app, rabbit, [{incl_cond, exclude}]},
    {app, tsung, [{incl_cond, exclude}]},

But I feel this is a bit wrong way to go, since it's not a deal to maintain blacklist of conflicted projects...

— Reply to this email directly or view it on GitHubhttps://github.com/refuge/rcouch/issues/20#issuecomment-25158062 .

kxepal commented 11 years ago

Hm..what do you think about next one? A bit verbose and explicit, but hangs no more due to conflicted modules both for rabbit and tsung:

diff --git a/rel/reltool.config b/rel/reltool.config
index 9c70516..84c1b1b 100644
--- a/rel/reltool.config
+++ b/rel/reltool.config
@@ -42,11 +42,12 @@
         {relocatable, true},
         {app_file, strip},
         {debug_info, strip},
+        {incl_cond, exclude},

         {excl_sys_filters, ["^bin/.*", "^erts.*/bin/(dialyzer|typer)"]},
         {excl_archive_filters, [".*"]},

-
+        %% stdlib
         {app, asn1, [{incl_cond, include}]},
         {app, sasl, [{incl_cond, include}]},
         {app, crypto, [{incl_cond, include}]},
@@ -54,6 +55,14 @@
         {app, ssl, [{incl_cond, include}]},
         {app, xmerl, [{incl_cond, include}]},

+        {app, kernel, [{incl_cond, include}]},
+        {app, stdlib, [{incl_cond, include}]},
+        {app, inets, [{incl_cond, include}]},
+        {app, os_mon, [{incl_cond, include}]},
+        {app, compiler, [{incl_cond, include}]},
+        {app, syntax_tools, [{incl_cond, include}]},
+        {app, runtime_tools, [{incl_cond, include}]},
+
         %% dependencies
         {app, lager, [{incl_cond, include}]},
         {app, gproc, [{incl_cond, include}]},
@@ -63,6 +72,7 @@
         {app, jiffy, [{incl_cond, include}]},
         {app, snappy, [{incl_cond, include}]},
         {app, ibrowse, [{incl_cond, include}]},
+        {app, goldrush, [{incl_cond, include}]},

         %% couchdb
         {app, couch_stats, [{incl_cond, include}]},
benoitc commented 11 years ago

@kxepal I pushed the change above in the fix/20 branch to make some tests. Sounds good anyway, thanks for the patch!