+++ 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:
Version-Release number of selected component (if applicable):
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 ---
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:
How about something like:
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:
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 ---
--- 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?
erlang-R16B-03.8.el7 has been submitted as an update for Fedora EPEL 7.
* 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:
then log in and leave karma (feedback).
erlang-R16B-03.9.el7 has been submitted as an update for Fedora EPEL 7.
erlang-R16B-03.10.el7 has been submitted as an update for Fedora EPEL 7.
erlang-R16B-03.10.fc20 has been submitted as an update for Fedora 20.
erlang-17.3.4-3.fc21 has been submitted as an update for Fedora 21.
erlang-17.4-1.fc21 has been submitted as an update for Fedora 21.
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.
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.
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.
Is this going to be fixed for EPEL6 which still has this issue ?
No. Please don't reopen bugs for unrelated versions of RHEL.