https://bugzilla.redhat.com/show_bug.cgi?id=1161922
Bug ID: 1161922
Summary: Too many dependencies from Erlang
Product: Fedora EPEL
Version: epel7
Component: erlang
Keywords: FutureFeature
Severity: high
Priority: high
Assignee: rjones(a)redhat.com
Reporter: lemenkov(a)gmail.com
QA Contact: extras-qa(a)fedoraproject.org
CC: antonbaklanov(a)gmail.com, atodorov(a)redhat.com,
awilliam(a)redhat.com, erlang(a)lists.fedoraproject.org,
extras-qa(a)fedoraproject.org, gemi(a)bluewin.ch,
hubert.plociniczak(a)gmail.com, jkaluza(a)redhat.com,
lemenkov(a)gmail.com, lhh(a)redhat.com, martin(a)laptop.org,
mcepl(a)redhat.com, misc(a)zarb.org, mmahut(a)redhat.com,
ohadlevy(a)redhat.com, rhbugs(a)n-dimensional.de,
rjones(a)redhat.com, s(a)shk.io, sbaker(a)redhat.com,
stick(a)gk2.sk, volker27(a)gmx.at
Depends On: 784693, 1095715, 1095717, 1095718, 1095721, 1095727,
1095699, 1095702, 1095703, 1095705, 1095708, 1095709,
1095710, 1095712
Blocks: 1086146
+++ 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....
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?
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=784693
[Bug 784693] Too many dependencies from Erlang
https://bugzilla.redhat.com/show_bug.cgi?id=1086146
[Bug 1086146] Better Erlang Support
https://bugzilla.redhat.com/show_bug.cgi?id=1095699
[Bug 1095699] Remove dependency on erlang-gs from erlang-appmon
https://bugzilla.redhat.com/show_bug.cgi?id=1095702
[Bug 1095702] Remove dependency on erlang-gs from erlang-debugger
https://bugzilla.redhat.com/show_bug.cgi?id=1095703
[Bug 1095703] Remove dependency on erlang-gs from erlang-dialyzer
https://bugzilla.redhat.com/show_bug.cgi?id=1095705
[Bug 1095705] Remove dependency on erlang-gs from erlang-et
https://bugzilla.redhat.com/show_bug.cgi?id=1095708
[Bug 1095708] Remove dependency on erlang-gs from erlang-observer
https://bugzilla.redhat.com/show_bug.cgi?id=1095709
[Bug 1095709] Remove dependency on erlang-gs from erlang-pman
https://bugzilla.redhat.com/show_bug.cgi?id=1095710
[Bug 1095710] Remove dependency on erlang-gs from erlang-toolbar
https://bugzilla.redhat.com/show_bug.cgi?id=1095712
[Bug 1095712] Remove dependency on erlang-gs from erlang-tv
https://bugzilla.redhat.com/show_bug.cgi?id=1095715
[Bug 1095715] Remove dependency on erlang-wx from erlang-debugger
https://bugzilla.redhat.com/show_bug.cgi?id=1095717
[Bug 1095717] Remove dependency on erlang-wx from erlang-dialyzer
https://bugzilla.redhat.com/show_bug.cgi?id=1095718
[Bug 1095718] Remove dependency on erlang-wx from erlang-et
https://bugzilla.redhat.com/show_bug.cgi?id=1095721
[Bug 1095721] Remove dependency on erlang-wx from erlang-observer
https://bugzilla.redhat.com/show_bug.cgi?id=1095727
[Bug 1095727] Remove dependency on erlang-wx from erlang-reltool
--
You are receiving this mail because:
You are on the CC list for the bug.