[rabbitmq-discuss] RabbitMQ, Erlang and OpenSSL

Alvaro Videla videlalvaro at gmail.com
Fri Jan 31 13:18:34 GMT 2014


Hi,

Doing what you say is the right thing to do(tm) but it's very hard. Just
ask the Basho people about all the difficulties they had to build
their packages. The main problem being OpenSSL support. I've tried
this, and even minor versions differences on the linked libraries will
make everything to fall apart.

What I understood is that if you want to bundle Erlang, then you'll
need basically one bundle per OS version you would want to support.

In our case, that's not practical, since most of our users just install Erlang.

The only platform where we provide a bundle is OS X. You can see more
about how we build it here:
http://hg.rabbitmq.com/rabbitmq-server/file/240502c05dbc/packaging/standalone/Makefile
and the related files on that packaging folder.

Q1. Yes, AFAIK RabbitMQ SSL depends on Erlang
Q2. Q3. Yes, it must be installed since Erlang dynamically links to
it. And the problem is even bigger since Erlang tags the linked
library up to the minor version, which makes it incompatible between
OSes. Say you build Erlang against OpenSSL 1.0.1, then the other OS
has 1.0.0 which according to OpenSSL should be compatible and have the
same API, but the bundled Erlang won't be able to find it/use it.

Regards,

Alvaro

On Thu, Jan 30, 2014 at 9:40 PM, ranjitiyer <ranjitiyer at gmail.com> wrote:
> We plan to bundle RabbitMQ 3.5.3 and Erlang R16B03-1 (5.10.4) into our
> product which is supported on Windows, RHEL 5/6 and SUSE 11. Because
> RabbitMQ does not bundle Erlang so we are doing that ourselves. (Would
> really appreciate is RabbitMQ does this (RIAK does it), because its very
> painful and can hurt adoption).
>
> For various reasons, I am choosing to compile Erlang source on each of RHEL
> and SUSE platforms. When compiling on Suse11 Erlang complained that it
> couldn't find OpenSSL and I stopped and asked myself
>
> Q1. Does RabbitMQ's SSL feature depends on SSL support in Erlang?
>
> Q2. Does that imply that the user's Suse machine (where our application,
> including RabbitMQ will be deployed) must have OpenSSL installed?
>
> Q3. I guess this relates to Q2. Does Erlang statically include OpenSSL or
> dynamically link against it? I would prefer that it statically includes it
> so our users don't need to install OpenSSL separately on their Suse
> machines.
>
> Thanks,
> Ranjit
>
>
>
> --
> View this message in context: http://rabbitmq.1065348.n5.nabble.com/RabbitMQ-Erlang-and-OpenSSL-tp33005.html
> Sent from the RabbitMQ mailing list archive at Nabble.com.
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss


More information about the rabbitmq-discuss mailing list