Bug 1161922

Summary: Too many dependencies from Erlang
Product: [Fedora] Fedora EPEL Reporter: Peter Lemenkov <lemenkov>
Component: erlangAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: epel7CC: andrew, antonbaklanov, atodorov, erlang, extras-qa, gemi, hubert.plociniczak, jkaluza, lemenkov, lhh, martin, mcepl, mcepl, misc, mmahut, ohadlevy, rhbugs, rjones, sbaker, s, stick, volker27
Target Milestone: ---Keywords: FutureFeature, Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://fedoraproject.org/wiki/Changes/BetterErlangSupport
Whiteboard:
Fixed In Version: erlang-17.4-1.fc21 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: 784693 Environment:
Last Closed: 2015-02-23 08:58:06 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On: 1095715, 1095717, 1095718, 1095721, 1095727, 784693, 1095699, 1095702, 1095703, 1095705, 1095708, 1095709, 1095710, 1095712    
Bug Blocks: 1086146    

Description Peter Lemenkov 2014-11-09 12:08:28 UTC
+++ This bug was initially created as a clone of Bug #784693 +++

Description of problem:

rabbitmq-server has Require: erlang >= R12B-3 which pulls in every possible erlang package and it's dependencies including: gtk2, atk, tk, SDL and so on. 


When using Amazon Linux AMI in Amazon EC2 it points by default to EPEL 6 repository. The side effect is that trying to install rabbitmq-server fails with lots of missing dependencies. I tried to rebuild the packages myself but there are way too many packages needed in order to build all necessary dependencies.


I doubt that wxGTK and friends are all necessary for Rabbitmq. Can you please fix the EPEL package so it lists only necessary dependencies and not the whole world. 

The Amazon forums thread is here:
https://forums.aws.amazon.com/message.jspa?messageID=282648


Version-Release number of selected component (if applicable):
rabbitmq-server-2.6.1-1.el6.noarch

How reproducible:
always

Steps to Reproduce:
1. yum install rabbitmq-server on Amazon Linux AMI

--- Additional comment from Peter Lemenkov on 2012-01-25 15:42:26 EST ---

I really really wish it could be fixed just removing several dependencies. Unfortunately it isn't that easy.

The main problem is that although this X11 stuff indeed does not required for RabbitMQ to run it does required for debugging and on-the-fly analysis. From someone's point of view if (s)he fails to reproduce some debugging recipes from internet (for example, starting appmon:start() or debugger:start()) then it's time to blame packager for broken Erlang distribution and honestly I think it would be true.

So from the one hand - several X11 libraries and broken dependency chain in broken variant of RHEL but fully functional Erlang distribution, from the other hand - Erlang with truncated essential functionality but happy casual RabbitMQ/Ejabberd/CouchDB/Mochiweb users.

Honestly I really feel for you and will try to cut off a dependency chain but I also don't want to break something. I plan to do something a bit more complicated rather than just removing some dependencies - for example some kind of "soft" dependencies using empty metapackages like erlang-debugger-x11 or erlang-appmon-x11. Without them every attempt to run some GUI tools from the console should end up with informative message about packages which must be installed manually.

So bottom line is - I'd like this ticket to stay open for a while (until I or someone else proposes something acceptable). But right now it looks like a bug with Amazon infrastructure.

--- Additional comment from Alexander Todorov on 2012-01-26 04:42:30 EST ---

Hi Peter,
thanks for the quick response. 

It's OK with me to split the dependencies in two and be able to handle console users and GUI too. I hope it's not that hard to implement.

--- Additional comment from Alexander Todorov on 2012-01-26 08:31:51 EST ---

FYI I asked upstream about dependencies. This may be helpful:
http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2012-January/017687.html

How about something like:
rabbitmq-server
rabbitmq-server-ssl
rabbitmq-server-hipe
... etc 


Is it easy to break it down like this?

--- Additional comment from Peter Lemenkov on 2012-04-08 12:43:40 EDT ---



--- Additional comment from Peter Lemenkov on 2012-04-08 12:45:55 EDT ---

Changing component to erlang and reassigning to myself.

--- Additional comment from Pavol Rusnak on 2012-08-15 08:19:58 EDT ---

Same issue while installing ejabberd. I guess ejabberd should require just particular erlang modules, not the whole erlang metapackage.

--- Additional comment from Peter Lemenkov on 2013-07-23 09:20:52 EDT ---



--- Additional comment from Peter Lemenkov on 2013-07-23 09:21:46 EDT ---



--- Additional comment from Adam Williamson (Red Hat) on 2013-09-18 00:11:48 EDT ---



--- Additional comment from Adam Williamson (Red Hat) on 2013-09-18 00:13:21 EDT ---

Yeah, I just hit this trying to install ejabberd too.

Seriously, I'm not installing *two* graphical toolkits on my headless server just to get a jabber server going.

Debian has an 'erlang-nox' metapackage which depends on all of erlang except the bits that require X:

http://packages.debian.org/sid/erlang-nox

and Debian's ejabberd package requires it. Perhaps you could do that?

--- Additional comment from Peter Lemenkov on 2014-04-02 12:13:41 EDT ---



--- Additional comment from Peter Lemenkov on 2014-04-02 12:15:23 EDT ---

Heads up. Due to numerous requests it was decided to fix this issue (enable "headless" Erlang) as a Fedora 21 feature. I plan to backport it to the rest of Erlang branches (including not yet released EL7).

--- Additional comment from Peter Lemenkov on 2014-04-02 12:17:57 EDT ---

See https://fedoraproject.org/wiki/Changes/BetterErlangSupport

--- Additional comment from Lon Hohberger on 2014-04-02 13:59:31 EDT ---

Nice write-up, Peter!

Would it make sense to note your idea where applications which can use the GUI (but don't need it) throw an error when someone attempts to start them in GUI mode instead of having GUI libraries as hard install requirements?

--- Additional comment from Lon Hohberger on 2014-04-04 14:10:19 EDT ---

Also, would it make sense to make erlang (source rpm) buildable without wx* in the first place?

Comment 1 Fedora Update System 2014-11-12 07:07:52 UTC
erlang-R16B-03.8.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/erlang-R16B-03.8.el7

Comment 2 Fedora Update System 2014-11-12 23:17:18 UTC
Package erlang-R16B-03.8.el7:
* should fix your issue,
* was pushed to the Fedora EPEL 7 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing erlang-R16B-03.8.el7'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-3992/erlang-R16B-03.8.el7
then log in and leave karma (feedback).

Comment 3 Fedora Update System 2014-11-17 14:46:28 UTC
erlang-R16B-03.9.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/erlang-R16B-03.9.el7

Comment 4 Fedora Update System 2014-12-02 05:39:42 UTC
erlang-R16B-03.10.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/erlang-R16B-03.10.el7

Comment 5 Fedora Update System 2014-12-02 05:39:54 UTC
erlang-R16B-03.10.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/erlang-R16B-03.10.fc20

Comment 6 Fedora Update System 2014-12-02 05:40:04 UTC
erlang-17.3.4-3.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/erlang-17.3.4-3.fc21

Comment 7 Fedora Update System 2014-12-13 18:23:53 UTC
erlang-17.4-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/erlang-17.4-1.fc21

Comment 8 Fedora Update System 2014-12-15 04:26:59 UTC
erlang-R16B-03.10.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2014-12-20 00:18:31 UTC
erlang-R16B-03.10.el7 has been pushed to the Fedora EPEL 7 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2014-12-23 18:32:51 UTC
erlang-17.4-1.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 11 Andrew Colin Kissa 2015-02-23 08:51:37 UTC
Hi

Is this going to be fixed for EPEL6 which still has this issue ?

- Andrew

Comment 12 Richard W.M. Jones 2015-02-23 08:58:06 UTC
No.  Please don't reopen bugs for unrelated versions of RHEL.